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
Hinweis
Dieses Feature wird in den Versionen von SQL Server von 2012 bis 2016 weiterhin unterstützt. Diese Funktion wird in einer zukünftigen Version von SQL Serverentfernt. Nutzen Sie diese Funktionen bei Neuentwicklungen nicht mehr, und planen Sie die Änderung von Anwendungen, die diese Funktion zurzeit verwenden.
Bei einer Transaktionsreplikation können am Abonnenten vorgenommene Änderungen mithilfe sofort aktualisierbarer Abonnements oder Abonnements mit verzögerter Aktualisierung über eine Warteschlange an den Verleger zurückgegeben werden. Aktualisierbare Abonnements können mithilfe von gespeicherten Replikationsprozeduren programmgesteuert erstellt werden.
Zum Konfigurieren aktualisierbarer Abonnements steht Ihnen die Seite Aktualisierbare Abonnements des Assistenten für neue Abonnements zur Verfügung. Diese Seite ist nur verfügbar, wenn Sie eine Transaktionsveröffentlichung für aktualisierbare Abonnements aktiviert haben. Weitere Informationen zum Aktivieren aktualisierbarer Abonnements finden Sie unter Aktivieren des Aktualisierens von Abonnements für Transaktionsveröffentlichungen.
Konfigurieren eines aktualisierbaren Abonnements vom Verleger aus
Stellen Sie mit dem Verleger in Microsoft SQL Server Management Studio eine Verbindung her, und erweitern Sie dann den Serverknoten.
Erweitern Sie den Ordner Replikation , und erweitern Sie dann den Ordner Lokale Veröffentlichungen .
Klicken Sie mit der rechten Maustaste auf eine Transaktionsveröffentlichung, die für aktualisierbare Abonnements aktiviert ist, und klicken Sie dann auf Neue Abonnements.
Geben Sie auf den folgenden Seiten des Assistenten die Optionen für das Abonnement an. Geben Sie dabei z. B. an, wo der Verteilungs-Agent ausgeführt werden soll.
Stellen Sie auf der Seite Aktualisierbare Abonnements des Assistenten für neue Abonnements sicher, dass Replizieren ausgewählt ist.
Wählen Sie eine Option aus der Commit-Liste im Publisher-Dropdown-Menü:
Wenn Sie Abonnements mit sofortiger Aktualisierung verwenden möchten, wählen Sie Änderungen gleichzeitig übernehmen aus. Wenn Sie diese Option auswählen und die Veröffentlichung Abonnements mit Warteschlangenaktualisierung zulässt (der Standard für Veröffentlichungen, die mit dem Assistenten für neue Veröffentlichungen erstellt wurden), wird die Abonnementeigenschaft update_mode auf failover festgelegt. Dieser Modus ermöglicht es Ihnen, bei Bedarf später in die Warteschlangenaktualisierung zu wechseln.
Wenn Sie Abonnements mit verzögertem Update über eine Warteschlange verwenden möchten, aktivieren Sie die Option Änderungen in die Warteschlange einreihen und Commit baldmöglichst ausführen. Wenn Sie diese Option auswählen und die Veröffentlichung Abonnements mit sofortiger Aktualisierung zulässt (die Standardeinstellung für Veröffentlichungen, die mit dem Assistenten für neue Veröffentlichungen erstellt wurden) und auf dem Abonnenten SQL Server 2005 oder höher ausgeführt wird, wird die Abonnementeigenschaft update_mode auf „queued failover“ festgelegt. Dieser Modus ermöglicht es Ihnen, bei Bedarf später zum sofortigen Update zu wechseln.
Weitere Informationen zum Umschalten zwischen den Updatemodi finden Sie unter Umschalten zwischen Updatemodi für ein aktualisierbares Transaktionsabonnement.
Die Seite Anmeldung für aktualisierbare Abonnements wird für Abonnements angezeigt, die die sofortige Aktualisierung verwenden oder bei denen update_mode auf queued failover festgelegt ist. Geben Sie auf der Seite Anmeldename für aktualisierbare Abonnements einen Verbindungsserver an, über den die Verbindungen mit dem Verleger für Abonnements mit sofortigem Update hergestellt werden sollen. Die Verbindungen werden durch die Trigger verwendet, die auf dem Abonnenten ausgelöst werden und die Änderungen zum Verleger weitergeben. Wählen Sie eine der folgenden Optionen aus:
Verbindungsserver erstellen, der mithilfe der SQL Server-Authentifizierung eine Verbindung herstellt. Wählen Sie diese Option aus, wenn Sie keinen Remoteserver oder Verbindungsserver für die Verbindungen zwischen dem Abonnenten und dem Verleger definiert haben. Die Replikation erstellt für Sie einen verknüpften Server. Das Konto, das Sie angeben, muss bereits auf dem Verleger vorhanden sein.
Einen verknüpften Server oder Remoteserver verwenden, den Sie bereits definiert haben. Wählen Sie diese Option aus, wenn Sie einen Remoteserver oder Verbindungsserver zwischen dem Abonnenten und dem Verleger mithilfe von sp_addserver (Transact-SQL), sp_addlinkedserver (Transact-SQL), SQL Server Management Studio oder einer anderen Methode definiert haben.
Informationen zu den Berechtigungen, die für das Verbindungsserverkonto erforderlich sind, finden Sie unter Abonnements mit verzögertem Update über eine Warteschlange in Sichern des Abonnenten.
Schließen Sie den Assistenten ab.
Konfigurieren eines aktualisierbaren Abonnements vom Abonnenten aus
Stellen Sie mit dem Abonnenten in SQL Server Management Studio eine Verbindung her, und erweitern Sie dann den Serverknoten.
Erweitern Sie den Ordner Replikation .
Klicken Sie mit der rechten Maustaste auf den Ordner Lokale Abonnements , und klicken Sie dann auf Neue Abonnements.
Auf der Veröffentlichungsseite des Neuen Abonnement-Wizards wählen Sie SQL Server Publisher finden aus der Publisher-Dropdown-Liste.
Stellen Sie im Dialogfeld Verbindung mit Server herstellen eine Verbindung mit dem Verleger her.
Wählen Sie auf der Seite Veröffentlichung eine für aktualisierbare Abonnements aktivierte Transaktionsveröffentlichung aus.
Geben Sie auf den folgenden Seiten des Assistenten die Optionen für das Abonnement an. Geben Sie dabei z. B. an, wo der Verteilungs-Agent ausgeführt werden soll.
Vergewissern Sie sich auf der Seite Aktualisierbare Abonnements des Assistenten für neue Abonnements, dass Replizieren ausgewählt ist.
Wählen Sie eine Option aus der Commit-Liste im Publisher-Dropdown-Menü:
Wenn Sie Abonnements mit sofortiger Aktualisierung verwenden möchten, wählen Sie Änderungen gleichzeitig übernehmen aus. Wenn Sie diese Option auswählen und die Veröffentlichung Abonnements mit Warteschlangenaktualisierung zulässt (der Standard für Veröffentlichungen, die mit dem Assistenten für neue Veröffentlichungen erstellt wurden), wird die Abonnementeigenschaft update_mode auf failover festgelegt. Dieser Modus ermöglicht es Ihnen, bei Bedarf später in die Warteschlangenaktualisierung zu wechseln.
Wenn Sie Abonnements mit verzögertem Update über eine Warteschlange verwenden möchten, aktivieren Sie die Option Änderungen in die Warteschlange einreihen und Commit baldmöglichst ausführen. Wenn Sie diese Option auswählen und die Veröffentlichung sofort aktualisierbare Abonnements zulässt (die Standardkonfiguration für Veröffentlichungen, die mit dem Assistenten für neue Veröffentlichungen erstellt wurden), und auf dem Abonnenten SQL Server 2005 oder höher ausgeführt wird, wird die Abonnementeigenschaft update_mode auf queued failover festgelegt. Dieser Modus ermöglicht es Ihnen, bei Bedarf später zum sofortigen Update zu wechseln.
Weitere Informationen zum Umschalten zwischen den Updatemodi finden Sie unter Umschalten zwischen Updatemodi für ein aktualisierbares Transaktionsabonnement.
Bei Abonnements, die das sofortige Update verwenden oder bei denen für update_mode die Einstellung queued failover festgelegt ist, wird die Seite Anmeldename für aktualisierbare Abonnements angezeigt. Geben Sie auf der Seite Anmeldename für aktualisierbare Abonnements einen Verbindungsserver an, über den die Verbindungen mit dem Verleger für Abonnements mit sofortigem Update hergestellt werden sollen. Die Verbindungen werden durch die Trigger verwendet, die auf dem Abonnenten ausgelöst werden und die Änderungen zum Verleger weitergeben. Wählen Sie eine der folgenden Optionen aus:
Verbindungsserver erstellen, der mithilfe der SQL Server-Authentifizierung eine Verbindung herstellt. Wählen Sie diese Option aus, wenn Sie keinen Remoteserver oder Verbindungsserver für die Verbindungen zwischen dem Abonnenten und dem Verleger definiert haben. Die Replikation erstellt für Sie einen verknüpften Server. Das Konto, das Sie angeben, muss bereits auf dem Verleger vorhanden sein.
Einen verknüpften Server oder Remoteserver verwenden, den Sie bereits definiert haben. Wählen Sie diese Option aus, wenn Sie einen Remoteserver oder Verbindungsserver zwischen dem Abonnenten und dem Verleger mithilfe von sp_addserver (Transact-SQL), sp_addlinkedserver (Transact-SQL), SQL Server Management Studio oder einer anderen Methode definiert haben.
Informationen zu den Berechtigungen, die für das Verbindungsserverkonto erforderlich sind, finden Sie unter Abonnements mit verzögertem Update über eine Warteschlange in Sichern des Abonnenten.
Schließen Sie den Assistenten ab.
Erstellen eines sofort aktualisierbaren Pullabonnements
Überprüfen Sie auf dem Verleger, ob die Veröffentlichung Abonnements mit sofortigem Update unterstützt, indem Sie sp_helppublicationausführen.
- Wenn
allow_sync_tranim Resultset den Wert1hat, unterstützt die Veröffentlichung Abonnements mit sofortigem Update. - Wenn
allow_sync_tranim Resultset den Wert0hat, muss die Veröffentlichung erneut erstellt und die Unterstützung von Abonnements mit sofortigem Update aktiviert werden.
- Wenn
Überprüfen Sie beim Verleger, ob die Veröffentlichung Pull-Abonnements unterstützt, indem Sie sp_helppublication ausführen.
- Wenn
allow_pullim Resultset den Wert1hat, unterstützt die Veröffentlichung Pullabonnements. - Wenn
allow_pullden Wert0hat, führen Sie sp_changepublicationaus, wobei Sieallow_pullfür@propertyundtruefür@valueangeben.
- Wenn
Führen Sie auf dem Abonnenten sp_addpullsubscriptionaus. Geben Sie
@publisherund@publicationund einen der folgenden Werte für@update_modefest:-
sync tran– Ermöglicht sofortige Updates des Abonnements. -
failover– Aktiviert das Abonnement für das sofortige Update mit verzögertem Update über eine Warteschlange als Failoveroption.
Hinweis
failovererfordert, dass die Veröffentlichung auch für Abonnements mit verzögertem Update über eine Warteschlange aktiviert ist.-
Führen Sie auf dem Abonnenten sp_addpullsubscription_agentaus. Geben Sie die folgenden Informationen an:
- Die Parameter
@publisher,@publisher_dbund@publication. - Die Microsoft Windows-Anmeldeinformationen, unter denen der Verteilungs-Agent auf dem Abonnenten für
@job_loginund@job_passwordausgeführt wird.
Hinweis
Für Verbindungen, die mit der integrierten Windows-Authentifizierung hergestellt werden, werden immer die mit
@job_loginund@job_passwordangegebenen Windows-Anmeldeinformationen verwendet. Der Verteilungs-Agent stellt die lokale Verbindung mit dem Abonnenten immer mithilfe der integrierten Windows-Authentifizierung her. Standardmäßig stellt der Agent mithilfe der integrierten Windows-Authentifizierung eine Verbindung mit dem Verteiler her.- (Optional) Ein Wert von
0für@distributor_security_modeund die Microsoft SQL Server-Anmeldeinformationen für@distributor_loginund@distributor_password, wenn Sie beim Herstellen einer Verbindung zum Verteiler die SQL Server-Authentifizierung verwenden müssen. - Zeitplan für den Auftrag des Verteilungs-Agents für dieses Abonnement.
- Die Parameter
Führen Sie auf dem Abonnenten für die Abonnementdatenbank sp_link_publicationaus. Geben Sie
@publisher,@publication, den Namen der Veröffentlichungsdatenbank für@publisher_dbund einen der folgenden Werte für@security_modean:-
0– Verwenden Sie die SQL Server-Authentifizierung, wenn Updates beim Verleger vorgenommen werden. Diese Option erfordert, dass Sie beim Publisher eine gültige Anmeldung für@loginund@passwordangeben. -
1– Verwendet den Sicherheitskontext des Benutzers, der Änderungen auf dem Abonnenten vornimmt, wenn eine Verbindung mit dem Verleger hergestellt wird. Weitere Informationen zu den in Verbindung mit diesem Sicherheitsmodus geltenden Beschränkungen finden Sie unter sp_link_publication . -
2– Verwenden Sie einen vorhandenen benutzerdefinierten Anmeldenamen für den Verbindungsserver, der mit sp_addlinkedservererstellt wurde.
-
Führen Sie beim Publisher sp_addsubscription aus, und geben Sie dabei
@publication,@subscriber,@destination_db, den Wert pull für@subscription_typeund denselben Wert wie in Schritt 3 für@update_modean. Damit wird das Pull-Abonnement beim Publisher registriert.
Erstellen eines sofort aktualisierbaren Pushabonnements
Überprüfen Sie auf dem Verleger, ob die Veröffentlichung Abonnements mit sofortigem Update unterstützt, indem Sie sp_helppublicationausführen.
- Wenn
allow_sync_tranim Resultset den Wert1hat, unterstützt die Veröffentlichung Abonnements mit sofortigem Update. - Wenn
allow_sync_tranim Resultset den Wert0hat, muss die Veröffentlichung erneut erstellt und die Unterstützung von Abonnements mit sofortigem Update aktiviert werden.
- Wenn
Überprüfen Sie auf dem Verleger, ob die Veröffentlichung Pushabonnements unterstützt, indem Sie sp_helppublicationausführen.
- Wenn
allow_pushim Resultset den Wert1hat, unterstützt die Veröffentlichung Pushabonnements. - Wenn
allow_pushden Wert0hat, führen Sie sp_changepublicationaus, wobei Sieallow_pushfür@propertyundtruefür@valueangeben.
- Wenn
Führen Sie beim Publisher sp_addsubscription aus. Geben Sie
@publication,@subscriber,@destination_dbund einen der folgenden Werte für@update_modean:-
sync tran– Aktiviert die Unterstützung für sofortige Updates. -
failover– Aktiviert die Unterstützung für sofortige Updates, wobei verzögerte Updates über eine Warteschlange als Failoveroption verwendet werden.
Hinweis
failovererfordert, dass die Veröffentlichung auch für Abonnements mit verzögertem Update über eine Warteschlange aktiviert ist.-
Führen Sie sp_addpushsubscription_agent auf dem Veröffentlichungsserver aus. Geben Sie die folgenden Parameter an:
@subscriber,@subscriber_dbund@publication.Die Windows-Anmeldeinformationen, unter denen der Verteilungs-Agent beim Verteiler für
@job_loginund@job_passwordausgeführt wird.
Hinweis
Für Verbindungen, die mit der integrierten Windows-Authentifizierung hergestellt werden, werden immer die mit
@job_loginund@job_passwordangegebenen Windows-Anmeldeinformationen verwendet. Der Verteilungs-Agent stellt die lokale Verbindung mit dem Verteiler immer mithilfe der Windows-Authentifizierung her. Standardmäßig stellt der Agent mithilfe der integrierten Windows-Authentifizierung eine Verbindung mit dem Abonnenten her.- (Optional) Ein Wert von
0für@subscriber_security_modeund die SQL Server-Anmeldeinformationen für@subscriber_loginund@subscriber_password, wenn Sie beim Herstellen einer Verbindung zum Abonnenten die SQL Server-Authentifizierung verwenden müssen. - Zeitplan für den Auftrag des Verteilungs-Agents für dieses Abonnement.
Führen Sie auf dem Abonnenten für die Abonnementdatenbank sp_link_publicationaus. Geben Sie
@publisher,@publication, den Namen der Veröffentlichungsdatenbank für@publisher_dbund einen der folgenden Werte für@security_modean:-
0– Verwenden Sie die SQL Server-Authentifizierung, wenn Updates beim Verleger vorgenommen werden. Diese Option erfordert, dass Sie beim Publisher eine gültige Anmeldung für@loginund@passwordangeben. -
1– Verwendet den Sicherheitskontext des Benutzers, der Änderungen auf dem Abonnenten vornimmt, wenn eine Verbindung mit dem Verleger hergestellt wird. Weitere Informationen zu den in Verbindung mit diesem Sicherheitsmodus geltenden Beschränkungen finden Sie unter sp_link_publication . -
2– Verwenden Sie einen vorhandenen benutzerdefinierten Anmeldenamen für den Verbindungsserver, der mit sp_addlinkedservererstellt wurde.
-
Erstellen eines Pullabonnements mit verzögertem Update über eine Warteschlange
Überprüfen Sie beim Verleger, ob die Veröffentlichung Warteschlangenaktualisierungsabonnements unterstützt, indem Sie sp_helppublication ausführen.
- Wenn
allow_queued_tranim Resultset den Wert1hat, unterstützt die Veröffentlichung Abonnements mit sofortigem Update. - Wenn
allow_queued_tranim Resultset den Wert0hat, muss die Veröffentlichung erneut erstellt und die Unterstützung von Abonnements mit verzögertem Update über eine Warteschlange aktiviert werden.
- Wenn
Überprüfen Sie beim Verleger, ob die Veröffentlichung Pull-Abonnements unterstützt, indem Sie sp_helppublication ausführen.
- Wenn
allow_pullim Resultset den Wert1hat, unterstützt die Veröffentlichung Pullabonnements. - Wenn
allow_pullden Wert0hat, führen Sie sp_changepublicationaus, wobei Sieallow_pullfür@propertyundtruefür@valueangeben.
- Wenn
Führen Sie auf dem Abonnenten sp_addpullsubscriptionaus. Geben Sie
@publisherund@publicationund einen der folgenden Werte für@update_modefest:-
queued tran– Aktiviert das Abonnement für die Aktualisierung in der Warteschlange. -
queued failover– aktiviert die Unterstützung für Aktualisierungen über die Warteschlange, wobei die sofortige Aktualisierung als Failover-Option dient.
Hinweis
queued failovererfordert, dass die Veröffentlichung auch Abonnements mit sofortigem Update zulässt. Um zur sofortigen Aktualisierung zu wechseln, müssen Sie mit sp_link_publication die Anmeldeinformationen definieren, unter denen Änderungen beim Abonnenten zum Verleger repliziert werden.-
Führen Sie auf dem Abonnenten sp_addpullsubscription_agentaus. Geben Sie die folgenden Parameter an:
-
@publisher,
@publisher_dbund@publication. - Die Windows-Anmeldeinformationen, unter denen der Verteilungs-Agent auf dem Abonnenten für
@job_loginund@job_passwordausgeführt wird.
Hinweis
Für Verbindungen, die mit der integrierten Windows-Authentifizierung hergestellt werden, werden immer die mit
@job_loginund@job_passwordangegebenen Windows-Anmeldeinformationen verwendet. Der Verteilungs-Agent stellt die lokale Verbindung mit dem Abonnenten immer mithilfe der integrierten Windows-Authentifizierung her. Standardmäßig stellt der Agent mithilfe der integrierten Windows-Authentifizierung eine Verbindung mit dem Verteiler her.- (Optional) Ein Wert von
0für@distributor_security_modeund die SQL Server-Anmeldeinformationen für@distributor_loginund@distributor_password, wenn Sie beim Herstellen einer Verbindung zum Verteiler die SQL Server-Authentifizierung verwenden müssen. - Zeitplan für den Auftrag des Verteilungs-Agents für dieses Abonnement.
-
@publisher,
Führen Sie beim Publisher sp_addsubscriber aus, um den Abonnenten beim Publisher zu registrieren, und geben Sie
@publication,@subscriber,@destination_db, den Wert „pull“ für@subscription_typesowie denselben Wert an, den Sie in Schritt 3 für@update_modeangegeben haben. Damit wird das Pull-Abonnement beim Publisher registriert.
Erstellen eines Push-Abonnements mit Aktualisierungswarteschlange
Überprüfen Sie beim Verleger, ob die Veröffentlichung Warteschlangenaktualisierungsabonnements unterstützt, indem Sie sp_helppublication ausführen.
- Wenn „allow_queued_tran“ im Resultset den Wert 1 hat, unterstützt die Veröffentlichung Abonnements mit sofortigem Update.
- Wenn „allow_queued_tran“ im Resultset den Wert 0 hat, muss die Veröffentlichung erneut erstellt und die Unterstützung von Abonnements mit verzögertem Update über eine Warteschlange aktiviert werden. Weitere Informationen finden Sie unter „Gewusst wie: Aktivieren von aktualisierbaren Abonnements für Transaktionsveröffentlichungen (Replikationsprogrammierung mit Transact-SQL)“.
Überprüfen Sie auf dem Verleger, ob die Veröffentlichung Pushabonnements unterstützt, indem Sie sp_helppublicationausführen.
- Wenn
allow_pushim Resultset den Wert1hat, unterstützt die Veröffentlichung Pushabonnements. - Wenn
allow_pushden Wert0hat, führen Sie sp_changepublicationaus, wobei Sie „allow_push“ für@propertyundtruefür@valueangeben.
- Wenn
Führen Sie beim Publisher sp_addsubscription aus. Geben Sie
@publication,@subscriber,@destination_dbund einen der folgenden Werte für@update_modean:-
queued tran– Aktiviert das Abonnement für die Aktualisierung in der Warteschlange. -
queued failover– aktiviert die Unterstützung für Aktualisierungen über die Warteschlange, wobei die sofortige Aktualisierung als Failover-Option dient.
Hinweis
Die Option „queued failover“ erfordert, dass die Veröffentlichung auch Abonnements mit sofortigem Update zulässt. Um zur sofortigen Aktualisierung zu wechseln, müssen Sie mit sp_link_publication die Anmeldeinformationen definieren, unter denen Änderungen beim Abonnenten zum Verleger repliziert werden.
-
Führen Sie sp_addpushsubscription_agent auf dem Veröffentlichungsserver aus. Geben Sie die folgenden Parameter an:
-
@subscriber,@subscriber_dbund@publication. - Die Windows-Anmeldeinformationen, unter denen der Verteilungs-Agent beim Verteiler für
@job_loginund@job_passwordausgeführt wird.
Hinweis
Für Verbindungen, die mit der integrierten Windows-Authentifizierung hergestellt werden, werden immer die mit
@job_loginund@job_passwordangegebenen Windows-Anmeldeinformationen verwendet. Der Verteilungs-Agent stellt die lokale Verbindung mit dem Verteiler immer mithilfe der Windows-Authentifizierung her. Standardmäßig stellt der Agent mithilfe der integrierten Windows-Authentifizierung eine Verbindung mit dem Abonnenten her.- (Optional) Ein Wert von
0für@subscriber_security_modeund die SQL Server-Anmeldeinformationen für@subscriber_loginund@subscriber_password, wenn Sie beim Herstellen einer Verbindung zum Abonnenten die SQL Server-Authentifizierung verwenden müssen. - Zeitplan für den Auftrag des Verteilungs-Agents für dieses Abonnement.
-
Festlegen der Optionen zur Konfliktlösung für Updates in der Warteschlange
Legen Sie die Konfliktlösungsoptionen für Veröffentlichungen, die Abonnements mit Warteschlangenaktualisierung unterstützen, auf der Seite Abonnementoptionen des Dialogfelds Veröffentlichungseigenschaften - <Veröffentlichung> fest. Weitere Informationen zum Zugreifen auf dieses Dialogfeld finden Sie unter View and Modify Publication Properties.
Wählen Sie auf der Seite Abonnementoptionen des Dialogfelds Veröffentlichungseigenschaften - <Veröffentlichung> für die Option Richtlinie zur Konfliktlösung einen der folgenden Werte aus:
- Verlegeränderung beibehalten
- Abonnentenänderung beibehalten
- Abonnement erneut initialisieren
Beispiel
In diesem Beispiel wird ein sofort aktualisierbares Abonnement für eine Veröffentlichung erstellt, die Abonnements mit sofortigem Update unterstützt. Die Werte für den Anmeldenamen und das Kennwort werden zur Laufzeit mithilfe von sqlcmd-Skriptvariablen bereitgestellt.
Hinweis
Dieses Skript verwendet „sqlcmd“-Skriptvariablen. Sie weisen das Format $(MyVariable)auf. Informationen zur Verwendung von Skriptvariablen in der Befehlszeile und in SQL Server Management Studio finden Sie im Abschnitt Ausführen von Replikationsskripts im Thema Konzepte für gespeicherte Systemprozeduren für die Replikation.
-- Execute this batch at the Subscriber.
DECLARE @publication AS sysname;
DECLARE @publicationDB AS sysname;
DECLARE @publisher AS sysname;
DECLARE @login AS sysname;
DECLARE @password AS NVARCHAR(512);
SET @publication = N'AdvWorksProductTran';
SET @publicationDB = N'AdventureWorks2022';
SET @publisher = $(PubServer);
SET @login = $(Login);
SET @password = $(Password);
-- At the subscription database, create a pull subscription to a transactional
-- publication using immediate updating with queued updating as a failover.
EXEC sp_addpullsubscription
@publisher = @publisher,
@publication = @publication,
@publisher_db = @publicationDB,
@update_mode = N'failover',
@subscription_type = N'pull';
-- Add an agent job to synchronize the pull subscription,
-- which uses Windows Authentication when connecting to the Distributor.
EXEC sp_addpullsubscription_agent
@publisher = @publisher,
@publisher_db = @publicationDB,
@publication = @publication,
@job_login = @login,
@job_password = @password;
-- Add a Windows Authentication-based linked server that enables the
-- Subscriber-side triggers to make updates at the Publisher.
EXEC sp_link_publication
@publisher = @publisher,
@publication = @publication,
@publisher_db = @publicationDB,
@security_mode = 0,
@login = @login,
@password = @password;
GO
USE AdventureWorks2022;
GO
-- Execute this batch at the Publisher.
DECLARE @publication AS sysname;
DECLARE @subscriptionDB AS sysname;
DECLARE @subscriber AS sysname;
SET @publication = N'AdvWorksProductTran';
SET @subscriptionDB = N'AdventureWorks2022Replica';
SET @subscriber = $(SubServer);
-- At the Publisher, register the subscription, using the defaults.
USE AdventureWorks2022;
EXEC sp_addsubscription
@publication = @publication,
@subscriber = @subscriber,
@destination_db = @subscriptionDB,
@subscription_type = N'pull',
@update_mode = N'failover';
GO