Wir haben eine Merge-Replikationsumgebung, die 8 Abonnenten erreicht. Das funktioniert gut. Unsere Verteilungsdatenbank ist im einfachen Wiederherstellungsmodus eingerichtet. Wir haben einen Wartungsplan, der jeden Tag um 00:30 Uhr die gesamte Datenbank sichert. Sobald dieser Vorgang abgeschlossen ist, wächst die Verteilungsprotokolldatei in den nächsten 30 Minuten und belegt den gesamten verbleibenden Speicherplatz auf der Festplatte (ca. 90 GB).
Was dann passiert, ist, dass die Verteilungsdatenbank als "Wiederherstellung ausstehend" angezeigt wird und wir nichts tun können, bis wir den Computer neu starten. Danach kann ich die Protokolldatei auf 2 MB verkleinern.
Ich habe keine Ahnung, warum das passiert. Die Protokolldatei wird tagsüber mit ca. 10 MB ausgeführt. Die Datenbankgröße liegt bei 15 GB.
quelle
sys.databases.log_reuse_wait_desc
Wert während dieser 30 Minuten, während das Protokoll wächst?Antworten:
Es hört sich so an, als ob bei Ihrer Replikation ein hohes Transaktionsvolumen auftritt. Wenn ja, sollte dieser Job "Aufräumen: Verteilung" wahrscheinlich viel häufiger ausgeführt werden. Es klingt für mich so, als würde es einmal am Tag passieren. Auf meinem High-Transaction-Replikationsserver wird er alle 15 Minuten ausgeführt, um nur die letzten 36 Stunden zu speichern. Auf diese Weise geht es auf und ab und bleibt nicht hängen.
Hier ist ein Artikel, der helfen könnte - http://www.sqlservergeeks.com/blogs/singhsatnam84/sql-server-bi/563/sql-server-controlling-growth-of-a-distribution-database
quelle
Erstellen Sie einen neuen Snapshot der Replikation und starten Sie den Snapshot-Agenten erneut.
quelle