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:
sql-server
sql-server-2008
replication
DForck42
fuente
fuente
Respuestas:
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.
La salida debe ser:
fuente
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
fuente
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í.
fuente