Nous avons un environnement de réplication de fusion qui pousse à 8 abonnés. Cela fonctionne bien. Notre base de données de distribution est configurée en mode de récupération simple. Nous avons un plan de maintenance qui sauvegardera toutes les bases de données tous les jours à 00h30. Une fois ce processus terminé, le fichier journal de distribution augmente au cours des 30 prochaines minutes et absorbe tout l'espace restant sur le disque dur (environ 90 Go)
Ce qui se passe alors, c'est que la base de données de distribution apparaît comme "Recovery Pending" et nous ne pouvons rien faire avant de redémarrer la machine. Après cela, je peux réduire le fichier journal à 2 Mo.
Je ne sais pas pourquoi cela se produit. Le fichier journal s'exécute à environ 10 Mo pendant la journée. La taille de la base de données est de 15 Go.
sys.databases.log_reuse_wait_desc
valeur pendant ces 30 minutes pendant la croissance du journal?Réponses:
Il semble que vous ayez un volume élevé de transactions avec votre réplication. Si c'est le cas, ce travail de "nettoyage: distribution" devrait probablement être exécuté beaucoup plus souvent. Il me semble que cela se produit une fois par jour. Sur mon serveur de réplication de transactions élevé, je le lance toutes les 15 minutes pour ne conserver que les 36 dernières heures. De cette façon, il se rythme et ne s'embourbe pas.
Voici un article qui pourrait vous aider - http://www.sqlservergeeks.com/blogs/singhsatnam84/sql-server-bi/563/sql-server-controlling-growth-of-a-distribution-database
la source
Créez un nouveau cliché de la réplication et redémarrez l'agent de cliché.
la source