Freigeben über


Tutorial: Konfigurieren der Replikation zwischen zwei Servern mit kontinuierlicher Verbindung (transaktional)

Gilt für:SQL Server

Die Transaktionsreplikation stellt eine bewährte Lösung für das Problem des Verschiebens von Daten zwischen Servern mit kontinuierlicher Verbindung dar. Mithilfe des Replikations-Assistenten können Sie eine Replikationstopologie auf einfache Weise konfigurieren und verwalten.

In diesem Tutorial wird die Konfiguration einer Topologie für Transaktionsreplikationen für Server mit kontinuierlicher Verbindung erläutert. Weitere Informationen zur Funktionsweise der Transaktionsreplikation finden Sie unter Übersicht über die Transaktionsreplikation.

Lernziele

In diesem Tutorial erfahren Sie, wie Sie Daten aus einer Datenbank mithilfe der Transaktionsreplikation in einer anderen Datenbank veröffentlichen.

In diesem Tutorial lernen Sie Folgendes:

  • Erstellen eines Verlegers über die Transaktionsreplikation
  • Erstellen eines Abonnenten für den Verleger der Transaktion
  • Überprüfen des Abonnements und Messen der Wartezeit

Voraussetzungen

Dieses Tutorial richtet sich an Benutzer, die zwar mit grundlegenden Datenbankvorgängen vertraut sind, aber nur über begrenzte Kenntnisse in Bezug auf die Replikation verfügen. Bevor Sie mit diesem Tutorial beginnen, müssen Sie die Schritte unter Tutorial: Prepare SQL Server for replication (Tutorial: Vorbereiten von SQL Server auf die Replikation) ausführen.

Für dieses Tutorial benötigen Sie SQL Server, SQL Server Management Studio (SSMS) und eine AdventureWorks-Datenbank:

  • Installieren Sie auf dem Verlegerserver (Quelle) Folgendes:

    • Eine Edition von SQL Server (mit Ausnahme von SQL Server Express und SQL Server Compact). Diese Editionen können nicht als Verleger für Replikationen verwendet werden.
    • Die AdventureWorks2022 -Beispieldatenbank Aus Sicherheitsgründen werden die Beispieldatenbanken standardmäßig nicht installiert.
  • Installieren Sie auf dem Abonnentenserver (Ziel) eine Edition von SQL Server (mit Ausnahme von SQL Server Compact). SQL Server Compact kann nicht als Abonnent einer Transaktionsreplikation verwendet werden.

  • Installieren Sie SQL Server Management Studio.

  • Installieren Sie die SQL Server 2017 Developer Edition.

  • Laden Sie die AdventureWorks-Beispieldatenbank herunter. Weitere Informationen zum Wiederherstellen einer Datenbank in SSMS finden Sie unter Wiederherstellen einer Datenbank.

Hinweis

Die Replikation wird für SQL Server-Instanzen, zwischen denen mehr als zwei Versionen liegen, nicht unterstützt.

Sie müssen in SQL Server Management Studio eine Verbindung mit dem Herausgeber und dem Abonnenten herstellen. Dazu verwenden Sie den Anmeldenamen eines Mitglieds der festen Serverrolle sysadmin. Weitere Informationen zu dieser Rolle finden Sie unter Rollen auf Serverebene.

Geschätzte Dauer dieses Tutorials: 60 Minuten

Konfigurieren des Verlegers für die Transaktionsreplikation

In diesem Abschnitt erstellen Sie mithilfe von SQL Server Management Studio eine Transaktionsveröffentlichung, um eine gefilterte Teilmenge der Tabelle Product in der Beispieldatenbank AdventureWorks2022 zu veröffentlichen. Außerdem fügen Sie der Veröffentlichungszugriffsliste (PAL) die vom Verteilungs-Agent verwendete SQL Server-Anmeldung hinzu.

Erstellen einer Veröffentlichung und Definieren von Artikeln

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

  2. Klicken Sie mit der rechten Maustaste auf SQL Server-Agent, und klicken Sie anschließend auf Starten. Der SQL Server-Agent muss ausgeführt werden, bevor Sie die Veröffentlichung erstellen. Wenn der Agent nicht gestartet wird, müssen Sie ihn manuell über den SQL Server-Konfigurations-Manager starten.

  3. Erweitern Sie den Ordner Replikation, und klicken Sie mit der rechten Maustaste auf den Ordner Lokale Veröffentlichungen. Klicken Sie anschließend auf Neue Veröffentlichung. Dadurch wird der Assistent für neue Veröffentlichungen gestartet:

    Optionsauswahl zum Starten des Assistenten für neue Veröffentlichungen

  4. Wählen Sie auf der Seite Veröffentlichungsdatenbank die Datenbank AdventureWorks2022 aus, und klicken Sie anschließend auf Weiter.

  5. Wählen Sie auf der Seite Veröffentlichungstyp den Eintrag Transaktionsveröffentlichung aus, und klicken Sie anschließend auf Weiter:

    Seite „Veröffentlichungstyp“ mit ausgewähltem Veröffentlichungstyp

  6. Erweitern Sie auf der Seite Artikel den Knoten Tabellen, und aktivieren Sie das Kontrollkästchen neben Product. Erweitern Sie anschließend den Knoten Product, und deaktivieren Sie die Kontrollkästchen neben ListPrice und StandardCost. Wählen Sie Weiter aus.

    Seite „Artikel“ mit ausgewählten Artikeln, die veröffentlicht werden sollen

  7. Klicken Sie auf der Seite Tabellenzeilen filtern auf Hinzufügen.

  8. Wählen Sie im Dialogfeld Filter hinzufügen die Spalte SafetyStockLevel aus. Klicken Sie anschließend auf den Pfeil nach rechts, um die Spalte zur WHERE-Klausel der Filteranweisung in der Filterabfrage hinzuzufügen. Geben Sie anschließend den WHERE-Klauselmodifizierer wie folgt ein:

    WHERE [SafetyStockLevel] < 500  
    

    Seite „Tabellenzeilen filtern“ und Dialogfeld „Filter hinzufügen“

  9. Wählen Sie OK und anschließend Weiter aus.

  10. Aktivieren Sie das Kontrollkästchen Momentaufnahme sofort erstellen und zum Initialisieren von Abonnements verfügbar halten, und wählen Sie Weiter aus:

    Seite „Momentaufnahmen-Agent“ mit aktiviertem Kontrollkästchen

  11. Deaktivieren Sie auf der Seite Agentsicherheit das Kontrollkästchen neben Use the security settings from the Snapshot Agent (Sicherheitseinstellungen des Momentaufnahme-Agents verwenden).

    Legen Sie für den Momentaufnahmen-Agent die Sicherheitseinstellungen fest, indem Sie auf die entsprechende Schaltfläche klicken. Geben Sie zuerst <Publisher_Machine_Name>\repl_snapshot in das Feld Prozesskonto und anschließend das Kennwort für dieses Konto ein. Wählen Sie anschließend OK aus.

    Seite „Agentsicherheit“ und Dialogfeld „Sicherheit für den Momentaufnahme-Agent“

  12. Wiederholen Sie den vorherigen Schritt, um <Publisher_Machine_Name>\repl_logreader als Prozesskonto für den Protokolllese-Agent festzulegen. Wählen Sie dann OK aus.

    Dialogfeld „Sicherheit für den Protokolllese-Agent“ und Seite „Agentsicherheit“

  13. Geben Sie auf der Seite Assistenten abschließen im Feld Veröffentlichungsname den Namen AdvWorksProductTrans ein, und klicken Sie auf Fertig stellen:

    Seite „Assistenten abschließen“ mit dem Veröffentlichungsnamen

  14. Klicken Sie nach Erstellung der Veröffentlichung auf Schließen, um den Assistenten zu beenden.

Wenn Ihr SQL Server-Agent bei dem Versuch, die Veröffentlichung zu erstellen, nicht ausgeführt wird, wird möglicherweise die unten abgebildete Fehlermeldung angezeigt. Sie weist darauf hin, dass Ihre Veröffentlichung erfolgreich erstellt wurde, Ihr Momentaufnahmen-Agent jedoch nicht gestartet werden konnte. In diesem Fall müssen Sie den SQL Server-Agent starten und den Momentaufnahmen-Agent anschließend manuell starten. Die Anweisungen für diesen Vorgang finden Sie im folgenden Abschnitt.

Warnung, dass der Momentaufnahmen-Agent nicht gestartet werden konnte

Anzeigen des Status der Momentaufnahmeerstellung

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

  2. Klicken Sie im Ordner Lokale Veröffentlichungen mit der rechten Maustaste auf AdvWorksProductTrans, und wählen Sie anschließend Status des Momentaufnahmen-Agents anzeigen aus:
    Menüelement im Kontextmenü zur Anzeige des Status des Momentaufnahmen-Agents

  3. Der aktuelle Status des Auftrags des Momentaufnahmen-Agents für die Veröffentlichung wird angezeigt. Überprüfen Sie, ob der Auftrag für die Momentaufnahme erfolgreich war, bevor Sie mit dem nächsten Abschnitt fortfahren.

Anhand des Status des Momentaufnahmen-Agents für Ihre Veröffentlichung können Sie nachvollziehen, ob Ihr SQL Server-Agent beim Erstellen der Veröffentlichung ausgeführt wurde. Wurde er niemals ausgeführt, wählen Sie zum Starten Ihres Momentaufnahmen-Agents die Option Starten aus:

Schaltfläche „Starten“ und Statusmeldungsänderung, durch die darauf aufmerksam gemacht wird, dass der Momentaufnahmen-Agent ausgeführt wurde

Wenn Ihnen hier ein Fehler angezeigt wird, finden Sie unter Troubleshooting Snapshot Agent errors (Problembehandlung für den Momentaufnahmen-Agent) weitere Informationen.

Hinzufügen der Verteilungs-Agent-Anmeldung zur PAL

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

  2. Klicken Sie im Ordner Lokale Veröffentlichungen mit der rechten Maustaste auf AdvWorksProductTrans, und wählen Sie anschließend Eigenschaften aus. Das Dialogfeld Veröffentlichungseigenschaften wird angezeigt.

    a. Wählen Sie die Seite Veröffentlichungszugriffsliste und anschließend Hinzufügen aus.
    b. Wählen Sie im Dialogfeld Veröffentlichungszugriff hinzufügen zuerst <Publisher_Machine_Name>\repl_distribution und anschließend OK aus.

    Optionsauswahl zum Hinzufügen einer Anmeldung zur Veröffentlichungszugriffsliste

Weitere Informationen finden Sie unter Konzepte für die Replikationsprogrammierung.

Erstellen eines Abonnements für die Transaktionsveröffentlichung

In diesem Abschnitt fügen Sie der zuvor erstellten Veröffentlichung einen Abonnenten hinzu. In diesem Tutorial wird ein Remote-Abonnent (NODE2\SQL2016) verwendet. Sie können ein Abonnement jedoch auch lokal zum Verleger hinzufügen.

Erstellen des Abonnements

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

  2. Klicken Sie im Ordner Lokale Veröffentlichungen mit der rechten Maustaste auf die Veröffentlichung AdvWorksProductTrans, und wählen Sie anschließend Neue Abonnements aus. Der Assistent für neue Abonnements wird gestartet:

    Optionsauswahl zum Starten des Assistenten für neue Abonnements

  3. Wählen Sie auf der Seite Veröffentlichung die Veröffentlichung AdvWorksProductTrans aus, und klicken Sie anschließend auf Weiter:

    Seite „Veröffentlichung“ mit ausgewählter Veröffentlichung

  4. Aktivieren Sie auf der Seite Speicherort des Verteilungs-Agents das Optionsfeld neben Alle Agents auf dem Verteiler ausführen, und klicken Sie anschließend auf Weiter. Weitere Informationen zu Push- und Pullabonnements finden Sie unter Abonnieren von Veröffentlichungen.

    Seite „Speicherort des Verteilungs-Agents“ mit aktivierter Option zur Ausführung aller Agents auf dem Verteiler

  5. Klicken Sie auf der Seite Abonnenten auf die Schaltfläche Abonnent hinzufügen und anschließend in der Dropdownliste auf SQL Server-Abonnent hinzufügen, wenn der Name der Abonnenteninstanz nicht angezeigt wird. Dadurch wird das Dialogfeld Verbindung mit Server herstellen geöffnet. Geben Sie den Namen der Abonnenteninstanz ein, und klicken Sie anschließend auf Verbinden.

    Aktivieren Sie das Kontrollkästchen neben dem Namen Ihrer Abonnenteninstanz, nachdem der Abonnent hinzugefügt wurde. Wählen Sie anschließend unter Abonnementdatenbank die Option Neue Datenbank aus.

    Seite „Abonnenten“ mit Optionsauswahl zum Hinzufügen eines Abonnentenservers

  6. Das Dialogfeld Neue Datenbank wird angezeigt. Geben Sie ProductReplica in das Feld Datenbankname ein, und wählen Sie OK und anschließend Weiter aus:

    Eingeben eines Namens für die Abonnementdatenbank

  7. Klicken Sie auf der Seite Distribution Agent Security (Verteilungs-Agent-Sicherheit) auf die Schaltfläche mit den Auslassungspunkten (). Geben Sie <Publisher_Machine_Name>\repl_distribution in das Feld Prozesskonto und anschließend das Kennwort für dieses Konto ein. Wählen Sie erst OK und anschließend Weiter aus.

    Informationen zum Verteilungskonto im Dialogfeld „Sicherheit für den Verteilungs-Agent“

  8. Wählen Sie Fertig stellen aus, um auf den verbleibenden Seiten die Standardwerte zu übernehmen und den Assistenten abzuschließen.

Festlegen der Datenbankberechtigungen auf dem Abonnenten

  1. Stellen Sie in SQL Server Management Studio eine Verbindung mit dem Abonnenten her. Erweitern Sie den Knoten Sicherheit, klicken Sie mit der rechten Maustaste auf Anmeldungen, und klicken Sie anschließend auf Neue Anmeldung.

    a. Wählen Sie auf der Seite Allgemein unter Anmeldename die Option Suchen aus, und fügen Sie die Anmeldung für <Subscriber_Machine_Name>\repl_distribution hinzu.

    b. Weisen Sie auf der Seite Benutzerzuordnungen die db_owner-Anmeldungsmitgliedschaft der Datenbank ProductReplica zu.

    Optionsauswahl zum Konfigurieren der Anmeldung beim Abonnenten

  2. Wählen Sie OK aus, um das Dialogfeld Neue Anmeldung zu schließen.

Anzeigen des Synchronisierungsstatus des Abonnements

  1. Stellen Sie in SQL Server Management Studio eine Verbindung mit dem Verleger her. Erweitern Sie zuerst den Serverknoten und anschließend den Ordner Replikation.

  2. Erweitern Sie im Ordner Lokale Veröffentlichungen die Veröffentlichung AdvWorksProductTrans, klicken Sie mit der rechten Maustaste auf das Abonnement in der Datenbank ProductReplica, und wählen Sie anschließend Synchronisierungsstatus anzeigen aus. Der aktuelle Synchronisierungsstatus des Abonnements wird angezeigt:

    Optionsauswahl zum Öffnen des Dialogfelds „Synchronisierungsstatus anzeigen“

  3. Wenn das Abonnement unter AdvWorksProductTrans nicht angezeigt wird, drücken Sie F5, um die Liste zu aktualisieren.

Weitere Informationen finden Sie unter:

Messen der Wartezeit

In diesem Abschnitt verwenden Sie Überwachungstoken, um zu überprüfen, ob die Änderungen auf dem Abonnenten repliziert werden, und um die Wartezeit zu ermitteln. Die Wartezeit ist die Zeit, die dafür benötigt wird, dem Abonnenten eine am Verleger vorgenommene Änderung anzuzeigen.

  1. Stellen Sie in SQL Server Management Studio eine Verbindung mit dem Verleger her. Erweitern Sie den Serverknoten, klicken Sie mit der rechten Maustaste auf den Ordner Replikation, und klicken Sie anschließend auf Replikationsmonitor starten:

    Menüelement „Replikationsmonitor starten“ im Kontextmenü

  2. Erweitern Sie im linken Bereich zuerst eine Verlegergruppe und dann die Verlegerinstanz. Klicken Sie anschließend auf die Veröffentlichung AdvWorksProductTrans.

    a. Wählen Sie die Registerkarte Überwachungstoken aus.
    b. Wählen Sie Überwachung einfügen aus.
    c. In den folgenden Spalten sehen Sie die für das Überwachungstoken benötigte Zeit: Verleger zu Verteiler, Verteiler zu Abonnent, Gesamtlatenzzeit. Der Wert Ausstehend gibt an, dass das Token einen bestimmten Punkt noch nicht erreicht hat.

    Informationen zum Überwachungstoken

Weitere Informationen finden Sie unter:

Nächste Schritte

Sie haben Ihren Verleger und Ihren Abonnenten erfolgreich für die Transaktionsreplikation konfiguriert. Nun können Sie in der Product-Tabelle auf dem Verleger Daten einfügen, aktualisieren oder löschen. Anschließend können Sie die Product-Tabelle auf dem Abonnenten abfragen, um die replizierten Änderungen anzuzeigen.

Im nächsten Artikel lernen Sie, wie eine Mergereplikation konfiguriert wird: