Erstellen und Anwenden des Snapshots
Snapshots werden nach dem Erstellen einer Veröffentlichung vom Snapshot-Agent generiert. Sie können folgendermaßen generiert werden:
Sofort. Standardmäßig wird ein Snapshot für eine Mergeveröffentlichung sofort nach dem Erstellen der Veröffentlichung im Assistenten für neue Veröffentlichung generiert.
Zu einem geplanten Zeitpunkt. Geben Sie auf der Seite Snapshot-Agent des Assistenten für neue Veröffentlichung oder beim Verwenden von gespeicherten Prozeduren bzw. Replikationsverwaltungsobjekten (RMO) einen Zeitpunkt an.
Manuell. Führen Sie den Snapshot-Agent von der Eingabeaufforderung oder in SQL Server Management Studio aus. Weitere Informationen zum Ausführen von Agents finden Sie unter Ausführbare Konzepte für die Programmierung von Replikations-Agents und Vorgehensweise: Starten und Beenden eines Replikations-Agents (SQL Server Management Studio).
Bei der Mergereplikation wird jedes Mal ein Snapshot generiert, wenn der Snapshot-Agent ausgeführt wird. Bei der Transaktionsreplikation hängt die Snapshotgenerierung von der Einstellung der immediate_sync-Veröffentlichungseigenschaft ab. Ist die Eigenschaft auf TRUE festgelegt (die Standardeinstellung bei der Verwendung des Assistenten für neue Veröffentlichung), wird bei jedem Ausführen des Snapshot-Agents ein Snapshot generiert, der jederzeit auf einen Abonnenten angewendet werden kann. Ist die Eigenschaft auf FALSE festgelegt (die Standardeinstellung bei der Verwendung von sp_addpublication), wird der Snapshot nur dann generiert, wenn seit dem letzten Ausführen des Snapshot-Agents ein neues Abonnement hinzugefügt wurde. Abonnenten können erst synchronisiert werden, nachdem der Snapshot-Agent abgeschlossen ist.
Generierte Snapshots werden im Standardsnapshotordner auf dem Verteiler gespeichert. Sie können Snapshotdateien aber auch auf Wechselmedien wie z. B. Wechseldatenträgern, CD-ROMs oder an anderen Speicherorten als dem Standardsnapshotordner speichern. Darüber hinaus können Sie die Snapshotdateien komprimieren, sodass sie leichter zu speichern und zu übertragen sind, und Skripts vor oder nach der Anwendung des Snapshots auf den Abonnenten ausführen. Weitere Informationen zu diesen Optionen finden Sie unter Snapshotoptionen.
Handelt es sich um einen Snapshot für eine Mergeveröffentlichung, die parametrisierte Filter verwendet, wird der Snapshot in einem zweiteiligen Prozess erstellt. Zuerst wird ein Schemasnapshot erstellt, der die Replikationsskripts und das Schema der veröffentlichten Objekte enthält, nicht jedoch die Daten. Jedes Abonnement wird dann mit einem Snapshot initialisiert, der die aus dem Schemasnapshot kopierten Skripts und das Schema sowie die Daten enthält, die zur Partition des Abonnements gehören. Weitere Informationen finden Sie unter Snapshots für Mergeveröffentlichungen mit parametrisierten Filtern.
Nachdem der Snapshot auf dem Verleger erstellt und am standardmäßigen bzw. einem anderen Snapshotspeicherort gespeichert wurde, kann er an den Abonnenten übertragen und auf diesen angewendet werden. Der Verteilungs-Agent (bei Snapshot- oder Transaktionsreplikation) bzw. der Merge-Agent (bei Mergereplikation) überträgt den Snapshot und wendet die Schema- und Datendateien während der Erstsynchronisierung auf die Abonnement-Datenbank auf dem Abonnenten an. Standardmäßig erfolgt die Erstsynchronisierung unmittelbar nach dem Erstellen einer Abonnements, wenn Sie den Assistenten für neue Veröffentlichung verwenden. Dieses Verhalten wird von der Option Initialisierungszeitpunkt auf der Seite Abonnements initialisieren des Assistenten gesteuert. Wenn Snapshots generiert werden, nachdem ein Abonnement initialisiert wurde, werden sie nicht auf den Abonnenten angewendet, es sei denn, ein Abonnement ist für die erneute Initialisierung markiert. Weitere Informationen finden Sie unter Erneutes Initialisieren eines Abonnements.
Nachdem der Verteilungs- bzw. der Merge-Agent den Anfangssnapshot angewendet hat, gibt er nachfolgende Aktualisierungen und andere Datenänderungen weiter. Wenn Snapshots an Abonnenten verteilt und auf ihnen angewendet werden, sind nur die Abonnenten betroffen, die auf einen Anfangssnapshot oder neue Snapshots warten. Andere Abonnenten dieser Veröffentlichung (diejenigen, die bereits Einfügungen, Aktualisierungen, Löschungen oder andere Änderungen der veröffentlichten Daten empfangen) sind nicht betroffen.
So erstellen Sie den Anfangssnapshot und wenden ihn an
SQL Server Management Studio: Vorgehensweise: Erstellen und Anwenden des Anfangssnapshots (SQL Server Management Studio)
Replikationsprogrammierung mit Transact-SQL: Vorgehensweise: Erstellen des Anfangssnapshots (Replikationsprogrammierung mit Transact-SQL)
RMO-Programmierung: Vorgehensweise: Erstellen des Anfangssnapshots (RMO-Programmierung)
So zeigen Sie den Standardspeicherort für Snapshotordner an oder ändern ihn
SQL Server Management Studio: Vorgehensweise: Angeben des standardmäßigen Snapshotspeicherorts (SQL Server Management Studio)
Replikationsprogrammierung: Vorgehensweise: Konfigurieren der Veröffentlichung und Verteilung (Replikationsprogrammierung mit Transact-SQL)
RMO-Programmierung: Vorgehensweise: Konfigurieren von Veröffentlichung und Verteilung (RMO-Programmierung)
Siehe auch