Tenemos un entorno de replicación de fusión que está empujando a 8 suscriptores. Esto está funcionando bien. Nuestra base de datos de distribución está configurada en modo de recuperación simple. Tenemos un plan de mantenimiento que respaldará todas las bases de datos todos los días a las 00:30. Una vez que se completa este proceso, el archivo de registro de distribución crece durante los próximos 30 minutos y absorbe todo el espacio restante en el disco duro (aproximadamente 90 GB)
Lo que sucede entonces es que la base de datos de distribución se muestra como "Pendiente de recuperación" y no podemos hacer nada hasta que reiniciemos la máquina. Después de esto, puedo reducir el archivo de registro a 2 MB.
No tengo idea de por qué está sucediendo esto. El archivo de registro se ejecuta a unos 10 MB durante el día. El tamaño de la base de datos es de 15 GB.
fuente
sys.databases.log_reuse_wait_desc
valor durante esos 30 minutos mientras crece el registro?Respuestas:
Parece que tiene un gran volumen de transacciones con su replicación. Si es así, ese trabajo de "limpieza: distribución" probablemente debería ejecutarse con mucha más frecuencia. Me parece que está sucediendo una vez al día. En mi servidor de replicación de transacciones altas, lo ejecuto cada 15 minutos para mantener solo las últimas 36 horas. De esa manera, se estimula y no se atasca.
Aquí hay un artículo que podría ayudar: http://www.sqlservergeeks.com/blogs/singhsatnam84/sql-server-bi/563/sql-server-controlling-growth-of-a-distribution-database
fuente
Cree una nueva instantánea de la replicación e inicie nuevamente el agente de instantánea.
fuente