Erstellen eines aktualisierbaren Abonnements für eine Transaktionspublikation

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

  1. Stellen Sie mit dem Verleger in Microsoft SQL Server Management Studio eine Verbindung her, und erweitern Sie dann den Serverknoten.

  2. Erweitern Sie den Ordner Replikation , und erweitern Sie dann den Ordner Lokale Veröffentlichungen .

  3. Klicken Sie mit der rechten Maustaste auf eine Transaktionsveröffentlichung, die für aktualisierbare Abonnements aktiviert ist, und klicken Sie dann auf Neue Abonnements.

  4. 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.

  5. Stellen Sie auf der Seite Aktualisierbare Abonnements des Assistenten für neue Abonnements sicher, dass Replizieren ausgewählt ist.

  6. 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.

  7. 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.

  8. Schließen Sie den Assistenten ab.

Konfigurieren eines aktualisierbaren Abonnements vom Abonnenten aus

  1. Stellen Sie mit dem Abonnenten in SQL Server Management Studio eine Verbindung her, und erweitern Sie dann den Serverknoten.

  2. Erweitern Sie den Ordner Replikation .

  3. Klicken Sie mit der rechten Maustaste auf den Ordner Lokale Abonnements , und klicken Sie dann auf Neue Abonnements.

  4. Auf der Veröffentlichungsseite des Neuen Abonnement-Wizards wählen Sie SQL Server Publisher finden aus der Publisher-Dropdown-Liste.

  5. Stellen Sie im Dialogfeld Verbindung mit Server herstellen eine Verbindung mit dem Verleger her.

  6. Wählen Sie auf der Seite Veröffentlichung eine für aktualisierbare Abonnements aktivierte Transaktionsveröffentlichung aus.

  7. 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.

  8. Vergewissern Sie sich auf der Seite Aktualisierbare Abonnements des Assistenten für neue Abonnements, dass Replizieren ausgewählt ist.

  9. 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.

  10. 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.

  11. Schließen Sie den Assistenten ab.

Erstellen eines sofort aktualisierbaren Pullabonnements

  1. Überprüfen Sie auf dem Verleger, ob die Veröffentlichung Abonnements mit sofortigem Update unterstützt, indem Sie sp_helppublicationausführen.

    • Wenn allow_sync_tran im Resultset den Wert 1hat, unterstützt die Veröffentlichung Abonnements mit sofortigem Update.
    • Wenn allow_sync_tran im Resultset den Wert 0hat, muss die Veröffentlichung erneut erstellt und die Unterstützung von Abonnements mit sofortigem Update aktiviert werden.
  2. Überprüfen Sie beim Verleger, ob die Veröffentlichung Pull-Abonnements unterstützt, indem Sie sp_helppublication ausführen.

    • Wenn allow_pull im Resultset den Wert 1hat, unterstützt die Veröffentlichung Pullabonnements.
    • Wenn allow_pull den Wert 0hat, führen Sie sp_changepublicationaus, wobei Sie allow_pull für @property und true für @valueangeben.
  3. Führen Sie auf dem Abonnenten sp_addpullsubscriptionaus. Geben Sie @publisher und @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

    failover erfordert, dass die Veröffentlichung auch für Abonnements mit verzögertem Update über eine Warteschlange aktiviert ist.

  4. 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_login und @job_passwordausgeführt wird.

    Hinweis

    Für Verbindungen, die mit der integrierten Windows-Authentifizierung hergestellt werden, werden immer die mit @job_login und @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 0 für @distributor_security_mode und die Microsoft SQL Server-Anmeldeinformationen für @distributor_login und @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.
  5. 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 @login und @password angeben.
    • 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.
  6. Führen Sie beim Publisher sp_addsubscription aus, und geben Sie dabei @publication, @subscriber, @destination_db, den Wert pull für @subscription_type und denselben Wert wie in Schritt 3 für @update_mode an. Damit wird das Pull-Abonnement beim Publisher registriert.

Erstellen eines sofort aktualisierbaren Pushabonnements

  1. Überprüfen Sie auf dem Verleger, ob die Veröffentlichung Abonnements mit sofortigem Update unterstützt, indem Sie sp_helppublicationausführen.

    • Wenn allow_sync_tran im Resultset den Wert 1hat, unterstützt die Veröffentlichung Abonnements mit sofortigem Update.
    • Wenn allow_sync_tran im Resultset den Wert 0hat, muss die Veröffentlichung erneut erstellt und die Unterstützung von Abonnements mit sofortigem Update aktiviert werden.
  2. Überprüfen Sie auf dem Verleger, ob die Veröffentlichung Pushabonnements unterstützt, indem Sie sp_helppublicationausführen.

    • Wenn allow_push im Resultset den Wert 1hat, unterstützt die Veröffentlichung Pushabonnements.
    • Wenn allow_push den Wert 0hat, führen Sie sp_changepublicationaus, wobei Sie allow_push für @property und true für @valueangeben.
  3. 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

    failover erfordert, dass die Veröffentlichung auch für Abonnements mit verzögertem Update über eine Warteschlange aktiviert ist.

  4. 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_login und @job_passwordausgeführt wird.

    Hinweis

    Für Verbindungen, die mit der integrierten Windows-Authentifizierung hergestellt werden, werden immer die mit @job_login und @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 0 für @subscriber_security_mode und die SQL Server-Anmeldeinformationen für @subscriber_login und @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.
  5. 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 @login und @password angeben.
    • 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

  1. Ü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 1hat, unterstützt die Veröffentlichung Abonnements mit sofortigem Update.
    • Wenn allow_queued_tran im Resultset den Wert 0hat, muss die Veröffentlichung erneut erstellt und die Unterstützung von Abonnements mit verzögertem Update über eine Warteschlange aktiviert werden.
  2. Überprüfen Sie beim Verleger, ob die Veröffentlichung Pull-Abonnements unterstützt, indem Sie sp_helppublication ausführen.

    • Wenn allow_pull im Resultset den Wert 1hat, unterstützt die Veröffentlichung Pullabonnements.
    • Wenn allow_pull den Wert 0hat, führen Sie sp_changepublicationaus, wobei Sie allow_pull für @property und true für @valueangeben.
  3. Führen Sie auf dem Abonnenten sp_addpullsubscriptionaus. Geben Sie @publisher und @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 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.

  4. 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_login und @job_passwordausgeführt wird.

    Hinweis

    Für Verbindungen, die mit der integrierten Windows-Authentifizierung hergestellt werden, werden immer die mit @job_login und @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 0 für @distributor_security_mode und die SQL Server-Anmeldeinformationen für @distributor_login und @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.
  5. 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_type sowie denselben Wert an, den Sie in Schritt 3 für @update_mode angegeben haben. Damit wird das Pull-Abonnement beim Publisher registriert.

Erstellen eines Push-Abonnements mit Aktualisierungswarteschlange

  1. Ü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)“.
  2. Überprüfen Sie auf dem Verleger, ob die Veröffentlichung Pushabonnements unterstützt, indem Sie sp_helppublicationausführen.

    • Wenn allow_push im Resultset den Wert 1hat, unterstützt die Veröffentlichung Pushabonnements.
    • Wenn allow_push den Wert 0hat, führen Sie sp_changepublicationaus, wobei Sie „allow_push“ für @property und true für @valueangeben.
  3. 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.

  4. 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_login und @job_passwordausgeführt wird.

    Hinweis

    Für Verbindungen, die mit der integrierten Windows-Authentifizierung hergestellt werden, werden immer die mit @job_login und @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 0 für @subscriber_security_mode und die SQL Server-Anmeldeinformationen für @subscriber_login und @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.

  1. 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