Retención de replicación de instantáneas


12

Tengo la replicación de instantáneas configurada en mi servidor de producción SQL Server 2008, y acabo de notar que hay instantáneas que se remontan a hace un año en la carpeta de instantáneas. ¿Cómo puedo cambiar la retención de estas instantáneas? Específicamente, me gustaría conservar las instantáneas durante 5 días.

Aquí hay una captura de pantalla de la carpeta que estoy viendo: Carpeta de replicación


He intentado todas las formas posibles que ha explicado, pero todavía tengo el mismo problema que alguien explicó anteriormente.

Respuestas:


7

Este suele ser un problema en el que los permisos en xp_cmdshell se han modificado por razones de seguridad. También puede tener este problema si la cuenta del Agente SQL no tiene los permisos de red necesarios para eliminar datos de su carpeta de replicación.

  • Verifique que xp_cmdshell esté habilitado y que la cuenta que lo ejecuta tenga los permisos adecuados.

    USE master
    GO
    EXEC sp_configure 'show advanced option', '1';
    reconfigure;
    GO
    exec sp_configure 'xp_cmdshell';
    

La salida debe ser:

name         minimum    maximum config_value run_value
xp_cmdshell  0          1       1            1

Una cosa más para verificar es que sus trabajos de limpieza están habilitados. He visto casos en los que el trabajo simplemente estaba deshabilitado.
Kenneth

Bueno, tengo un trabajo llamado "Limpieza de hisotry del agente: distribución", y se ha estado ejecutando bien (y está habilitado).
DForck42

Habilité xm_cmdshell anteriormente, y ahora muestra esos resultados.
DForck42

4

En mi experiencia, la retención de la carpeta de instantáneas funciona así:

Si los suscriptores anónimos no están habilitados para esa publicación y si todos los suscriptores han consumido la instantánea, la próxima ejecución del agente de limpieza eliminará la instantánea.

Si los suscriptores anónimos están habilitados y ha transcurrido el período de retención de distribución, la próxima ejecución del agente de limpieza eliminará la instantánea.

En su situación, donde desea retener instantáneas durante 2 meses, puede lograr esto permitiendo suscripciones anónimas y estableciendo la retención de distribución en 2 meses, si es posible.

Si su base de datos de distribución se usa también para la replicación transaccional, podría ver que la base de datos de distribución crece mucho.

Espero que esto ayude,

Mate


¿Dónde configuro la retención de distribución?
DForck42

2
@ DForck42 En SSMS, Replicación con el botón derecho y Propiedades del distribuidor con clic izquierdo. A partir de ahí, puede ajustar el período de retención transaccional.
Matt M

1

Prueba esto:

Vaya a las propiedades del Monitor de replicación (haga clic con el botón derecho en Monitoreo de replicación -> Propiedades) y verá un período de retención del historial allí. Deberías poder configurarlo allí.


No creo que eso se aplique a la replicación de instantáneas.
Kenneth
Al usar nuestro sitio, usted reconoce que ha leído y comprende nuestra Política de Cookies y Política de Privacidad.
Licensed under cc by-sa 3.0 with attribution required.