Ich habe eine Produktionsdatenbank, in der es ständig Updates gibt, und ich habe sie so konfiguriert, dass sie mithilfe der Transaktionsreplikation auf einem anderen Server veröffentlicht wird.
Beim Konfigurieren der Transaktionsreplikation gehe ich wie folgt vor:
- Deaktivieren des Zugriffs auf die Quelldatenbank
- Quell-DB sichern, dann auf dem Abonnementserver wiederherstellen
- Konfigurieren der Replikation
- DB-Zugriff auf unsere Apps wieder aktivieren
Das Problem bei diesem Ansatz besteht darin, dass wir Ausfallzeiten einplanen müssen, alle zeitgesteuerten Aufgaben, die wir ausführen, unterbrechen müssen und den Zugriff auf unsere verschiedenen Anwendungen, die von dieser Datenbank abhängig sind, unterbinden müssen.
Kann ich einfach die Transaktionsreplikation konfigurieren, ohne den Zugriff auf die Veröffentlichungsdatenbank zu deaktivieren, und die Abonnentendatenbank wird ordnungsgemäß aufgeholt? D. h. werden alle DML-Anweisungen beim Herausgeber in die Warteschlange gestellt und sobald der Abonnent bereit ist, werden sie abgerufen und ausgeführt?
Antwort1
Die einfache Antwort lautet Nein. Sie müssen den Zugriff auf das System usw. nicht deaktivieren. Hier erfahren Sie, warum und wie es funktioniert. Wenn Sie die Replikation einrichten, erstellt der Herausgeber in dem Moment, in dem Sie die Veröffentlichung erstellen, einen Snapshot der Daten. Es gibt auch einen Protokollleser, der gleichzeitig mit der Transaktionsreplikation ausgeführt wird und JEDE Transaktion seit der Erstellung des letzten Snapshots erfasst. Wenn also ein Abonnent erstellt wird, handelt es sich im Grunde um einen zweistufigen Prozess:
Schritt 1: Der Snapshot wird auf den Abonnenten angewendet, wodurch das Schema und die Daten in der Abonnentendatenbank erstellt werden.
Schritt 2: Anschließend werden die Transaktionen seit dem Zeitpunkt des Snapshots auf den Abonnenten angewendet, um die Abonnentendatenbank mit den neuesten Daten auf den neuesten Stand zu bringen.
Nein, Sie müssen im Grunde nicht all die anderen Dinge tun, die Sie tun, um einen neuen Abonnenten zu erstellen.
Sagen Sie mir Bescheid, wenn Sie noch etwas brauchen.
Danke!
-VM