Hinweis
Für den Zugriff auf diese Seite ist eine Autorisierung erforderlich. Sie können versuchen, sich anzumelden oder das Verzeichnis zu wechseln.
Für den Zugriff auf diese Seite ist eine Autorisierung erforderlich. Sie können versuchen, das Verzeichnis zu wechseln.
Gilt für:SQL Server
Azure SQL Managed Instance
In diesem Thema wird beschrieben, wie Sie ein Abonnement manuell in SQL Server mithilfe von SQL Server Management Studio oder Transact-SQL initialisieren. Obwohl die Anfangsmomentaufnahme normalerweise zum Initialisieren eines Abonnements verwendet wird, können Abonnements für Veröffentlichungen ohne eine Momentaufnahme initialisiert werden. Voraussetzung dafür ist allerdings, dass der Abonnent das Schema und die Ausgangsdaten bereits besitzt.
Beschränkungen und Einschränkungen
- Wenn es zwischen dem Zeitpunkt, zu dem die Daten und das Schema auf den Abonnenten kopiert wurden, und dem Zeitpunkt, zu dem das Abonnement manuell initialisiert wurde, auf einer Datenbank, die mit einer Transaktionsreplikation veröffentlicht wurde, zu einer Aktivität gekommen ist, kann es passieren, dass Änderungen, die sich aus dieser Aktivität ergeben, nicht auf den Abonnenten repliziert werden.
Verwendung von SQL Server Management Studio
Um ein Abonnement für eine Veröffentlichung manuell zu initialisieren, kopieren Sie das Schema (und in der Regel auch einige Daten) in die Abonnementdatenbank. Das Schema und die Daten sollten mit der Veröffentlichungsdatenbank übereinstimmen. Geben Sie anschließend im Assistenten für neue Abonnements auf der Seite Abonnements initialisieren an, dass für das Abonnement kein Schema und keine Daten erforderlich sind. Weitere Informationen zum Zugreifen auf diesen Assistenten finden Sie unter Initialize a Transactional Subscription Without a Snapshot und Create a Pull Subscriptioninitialisiert wird.
Beim ersten Synchronisieren des Abonnements werden die für die Replikation erforderlichen Objekte und Metadaten in die Abonnementdatenbank kopiert.
So initialisieren Sie ein Abonnement für eine Veröffentlichung manuell
Stellen Sie sicher, dass das Schema und die Daten in die Abonnementdatenbank kopiert wurden.
Deaktivieren Sie im Assistenten für neue Abonnements auf der Seite Abonnements initialisieren das Kontrollkästchen Initialisieren . Wiederholen Sie diesen Schritt für alle Abonnements, bei denen nur die Replikationsobjekte und -metadaten kopiert werden sollen.
Verwenden von Transact-SQL
Abonnements können manuell mit gespeicherten Replikationsprozeduren initialisiert werden.
So initialisieren Sie ein Pullabonnement für eine Transaktionsveröffentlichung manuell
Stellen Sie sicher, dass das Schema und die Daten in der Abonnementdatenbank vorhanden sind. Weitere Informationen finden Sie unter Initialize a Transactional Subscription Without a Snapshotinitialisiert wird.
Führen Sie beim Verleger in der Veröffentlichungsdatenbank sp_addsubscription aus. Geben Sie @publication, @subscriber, den Namen der Datenbank beim Abonnenten, die die veröffentlichten Daten für @destination_db enthält, den Wert pull für @subscription_type und den Wert replication support only für @sync_type an. Weitere Informationen finden Sie unter Create a Pull Subscription.
Führen Sie auf dem Abonnenten sp_addpullsubscriptionaus. Informationen zum Aktualisieren von Abonnements finden Sie unter Erstellen eines aktualisierbaren Abonnements für eine transaktionale Publikation.
Führen Sie auf dem Abonnenten sp_addpullsubscription_agentaus. Weitere Informationen finden Sie unter Create a Pull Subscription.
Starten Sie den Verteilungs-Agent, um Replikationsobjekte zu übertragen und die neuesten Änderungen vom Verleger herunterzuladen. Weitere Informationen finden Sie unter Synchronize a Pull Subscription.
Ein Pushabonnement für eine Transaktionsveröffentlichung manuell initialisieren
Stellen Sie sicher, dass das Schema und die Daten in der Abonnementdatenbank vorhanden sind. Weitere Informationen finden Sie unter Initialize a Transactional Subscription Without a Snapshotinitialisiert wird.
Führen Sie beim Verleger in der Veröffentlichungsdatenbank sp_addsubscription aus. Geben Sie den Namen der Datenbank beim Abonnenten an, die die für @destination_db veröffentlichten Daten enthält, den Wert push für @subscription_type und den Wert nur Replikationsunterstützung für @sync_type. Zum Aktualisieren von Abonnements siehe Erstellen eines aktualisierbaren Abonnements für eine transaktionale Veröffentlichung.
Führen Sie beim Verleger in der Veröffentlichungsdatenbank sp_addpushsubscription_agent aus. Weitere Informationen finden Sie unter Create a Push Subscription.
Starten Sie den Verteilungs-Agent, um Replikationsobjekte zu übertragen und die neuesten Änderungen vom Verleger herunterzuladen. Weitere Informationen finden Sie unter Synchronize a Push Subscription.
Ein Pullabonnement für eine Mergeveröffentlichung manuell initialisieren
Stellen Sie sicher, dass das Schema und die Daten in der Abonnementdatenbank vorhanden sind. Dies kann durch die Wiederherstellung einer Sicherung der Veröffentlichungsdatenbank beim Abonnenten erfolgen.
Führen Sie beim Publisher sp_addmergesubscription aus. Geben Sie @publication, @subscriber, @subscriber_dbund den Wert pull für @subscription_typean. Damit wird das Pull-Abonnement registriert.
Führen Sie auf dem Abonnenten für die Datenbank, die die veröffentlichten Daten enthält, sp_addmergepullsubscriptionaus. Geben Sie für @sync_type den Wert nonean.
Führen Sie beim Abonnenten sp_addmergepullsubscription_agent aus. Weitere Informationen finden Sie unter Create a Pull Subscription.
Starten Sie den Merge-Agent, um Replikationsobjekte zu übertragen und die neuesten Änderungen vom Verleger herunterzuladen. Weitere Informationen finden Sie unter Synchronize a Pull Subscription.
Ein Pushabonnement für eine Mergeveröffentlichung manuell initialisieren
Stellen Sie sicher, dass das Schema und die Daten in der Abonnementdatenbank vorhanden sind. Dies kann durch die Wiederherstellung einer Sicherung der Veröffentlichungsdatenbank beim Abonnenten erfolgen.
Führen Sie auf dem Verleger für die Veröffentlichungsdatenbank sp_addmergesubscriptionaus. Geben Sie den Namen der Datenbank beim Abonnenten an, die die veröffentlichten Daten enthält, für @subscriber_db, den Wert push für @subscription_type und den Wert none für @sync_type.
Führen Sie auf dem Verleger für die Veröffentlichungsdatenbank sp_addmergepushsubscription_agentaus. Weitere Informationen finden Sie unter Create a Push Subscription.
Starten Sie den Merge-Agent, um Replikationsobjekte zu übertragen und die neuesten Änderungen vom Verleger herunterzuladen. Weitere Informationen finden Sie unter Synchronize a Push Subscription.