Tutorial: Vorbereiten von SQL Server auf die Replikation (Verleger, Verteiler und Abonnent)

Gilt für:SQL Server

Es ist wichtig, einen Sicherheitsplan zu erstellen, bevor Sie die Replikationstopologie konfigurieren. In diesem Tutorial erfahren Sie, wie Sie eine Replikationstopologie besser absichern. Außerdem lernen Sie, wie Sie die Verteilung konfigurieren, die der erste Schritt beim Replizieren von Daten ist. Es ist erforderlich, dieses Lernprogramm vor allen anderen Lernprogrammen abzuschließen.

Hinweis

Für das sichere Replizieren von Daten zwischen Servern empfiehlt es sich, alle Empfehlungen unter Bewährte Methoden für die Replikationssicherheit zu implementieren.

Lernziele

In diesem Tutorial erfahren Sie, wie Sie einen Server vorbereiten, sodass die Replikation sicher und mit den niedrigsten Berechtigungen ausgeführt werden kann.

In diesem Tutorial lernen Sie Folgendes:

  • Erstellen von Windows-Konten für die Replikation
  • Vorbereiten des Momentaufnahmeordners
  • Konfigurieren der Verteilung

Voraussetzungen

Dieses Tutorial richtet sich an Benutzer, die zwar mit grundlegenden Datenbankvorgängen vertraut sind, aber nur über begrenzte Erfahrungen in Bezug auf die Replikation verfügen.

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:

    • Jede Edition von SQL Server, mit Ausnahme von SQL Server Express oder 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 Abonnentserver (Ziel) eine beliebige Edition von SQL Server, mit Ausnahme von SQL Server Compact. SQL Server Compact kann kein Abonnent in der Transaktionsreplikation sein.

  • 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. Weitere Informationen finden Sie unter In der Replikationstopologie unterstützte SQL Server-Versionen.
  • In SQL Server Management Studio müssen Sie eine Verbindung mit dem Herausgeber und Abonnenten herstellen, indem Sie eine Anmeldung verwenden, die Mitglied der festen Serverrolle "sysadmin " ist. Weitere Informationen zu dieser Rolle finden Sie unter Rollen auf Serverebene.

Geschätzte Dauer zum Abschließen des Tutorials: 30 Minuten

Erstellen von Windows-Konten für die Replikation

In diesem Abschnitt erstellen Sie Windows-Konten zum Ausführen von Replikations-Agents. Sie erstellen für die folgenden Agents ein separates Windows-Konto auf dem lokalen Server:

Agent Standort Kontoname
Momentaufnahme-Agent Herausgeber <>machine_name\repl_Momentaufnahme
Protokolllese-Agent Herausgeber <>machine_name\repl_logreader
Verteilungs-Agent Verleger und Abonnent <>machine_name\repl_distribution
Merge-Agent Verleger und Abonnent <>machine_name\repl_merge

Hinweis

In den Replikationslernlern verwenden der Herausgeber und Verteiler dieselbe Instanz (NODE1\SQL2016) von SQL Server. Die Abonnenteninstanz (NODE2\SQL2016) ist eine Remoteinstanz. Der Herausgeber und Abonnent verwenden möglicherweise dieselbe Instanz von SQL Server, es ist jedoch keine Anforderung. Wenn der Verleger und Abonnent dieselbe Instanz verwenden, sind die Schritte zum Erstellen von Konten auf dem Verleger nicht erforderlich.

Erstellen lokaler Windows-Konten für Replikations-Agents auf dem Verleger

  1. Öffnen Sie auf dem Verleger in der Systemsteuerung unter Verwaltung die Anwendung Computerverwaltung.

  2. Erweitern Sie unter Systemden Eintrag Lokale Benutzer und Gruppen.

  3. Klicken Sie mit der rechten Maustaste auf Benutzer, und klicken Sie dann auf Neuer Benutzer.

  4. Geben Sie repl_snapshot im Feld Benutzername ein, geben Sie das Kennwort und weitere relevante Informationen an, und klicken Sie anschließend auf Erstellen, um das Konto „repl_snapshot“ zu erstellen:

  5. Wiederholen Sie den letzten Schritt, um die Konten „repl_logreader“, „repl_distribution“ und „repl_merge“ zu erstellen:

    List of replication users

  6. Wählen Sie Schließen aus.

Erstellen lokaler Windows-Konten für Replikations-Agents auf dem Abonnenten

  1. Öffnen Sie auf dem Abonnenten in der Systemsteuerung unter Verwaltung die Anwendung Computerverwaltung.

  2. Erweitern Sie unter Systemden Eintrag Lokale Benutzer und Gruppen.

  3. Klicken Sie mit der rechten Maustaste auf Benutzer, und klicken Sie dann auf Neuer Benutzer.

  4. Geben Sie repl_distribution im Feld Benutzername ein, geben Sie das Kennwort und weitere relevante Informationen an, und klicken Sie anschließend auf Erstellen, um das Konto „repl_distribution“ zu erstellen.

  5. Wiederholen Sie den letzten Schritt, um das Konto repl_merge zu erstellen.

  6. Wählen Sie Schließen aus.

Weitere Informationen finden Sie unter Replikations-Agents (Übersicht).

Vorbereiten des Momentaufnahmeordners

In diesem Abschnitt konfigurieren Sie den Momentaufnahmeordner, in dem die Veröffentlichungsmomentaufnahme erstellt und gespeichert wird.

Erstellen einer Freigabe für den Momentaufnahmeordner und Zuweisen von Berechtigungen

  1. Navigieren Sie in Explorer zum SQL Server-Datenordner. Der Standardspeicherort lautet C:\Programme\Microsoft SQL Server\MSSQL.X\MSSQL\Data.

  2. Erstellen Sie einen neuen Ordner mit dem Namen repldata.

  3. Klicken Sie mit der rechten Maustaste auf diesen Ordner, und wählen Sie Eigenschaften aus.

    a. Klicken Sie auf der Registerkarte Freigabe im Dialogfeld repldata Properties (Eigenschaften von repldata) auf Erweiterte Freigabe.

    b. Klicken Sie im Dialogfeld Erweiterte Freigabe auf Diesen Ordner freigeben, und klicken Sie dann auf Berechtigungen.

    Selections for sharing the repldata folder

  4. Klicken Sie im Dialogfeld Berechtigungen für repldata auf Hinzufügen. Geben Sie im Feld "Benutzer, Computer, Dienstkonto oder Gruppen auswählen" den Namen des zuvor erstellten Momentaufnahmen-Agent Kontos ein, wie< Publisher_Machine_Name>\repl_Momentaufnahme. Klicken Sie auf Namen überprüfen und dann auf OK.

    Selections to add sharing permissions

  5. Wiederholen Sie Schritt 6, um die beiden anderen Konten hinzuzufügen, die Sie zuvor erstellt haben: <Publisher_Machine_Name>\repl_merge und< Publisher_Machine_Name>\repl_distribution.

  6. Weisen Sie nach dem Hinzufügen der drei Konten die folgenden Berechtigungen zu:

    • repl_distribution: Lesen
    • repl_merge: Lesen
    • repl_snapshot: Vollzugriff

    Shared permissions for each account

  7. Klicken Sie nach der ordnungsgemäßen Konfiguration der Freigabeberechtigungen auf OK, um das Dialogfeld Permissions for repldata (Berechtigungen für „repldata“) zu schließen. Klicken Sie auf OK, um das Dialogfeld Erweiterte Freigabe zu schließen.

  8. Klicken Sie im Dialogfeld repldata Properties (Eigenschaften von „repldata“) zuerst auf die Registerkarte Sicherheit und anschließend auf Bearbeiten:

  9. Klicken Sie im Dialogfeld Berechtigungen für repldata auf Hinzufügen. Geben Sie im Feld "Benutzer, Computer, Dienstkonten oder Gruppen auswählen" den Namen des zuvor erstellten Momentaufnahmen-Agent Kontos ein, wie< Publisher_Machine_Name>\repl_Momentaufnahme. Klicken Sie auf Namen überprüfen und dann auf OK.

    Selections to add security permissions

  10. Wiederholen Sie den vorherigen Schritt, um Berechtigungen für die Verteilungs-Agent als <Publisher_Machine_Name>\repl_distribution und für die Merge-Agent als <Publisher_Machine_Name>\repl_merge hinzuzufügen.

  11. Überprüfen Sie, ob die folgenden Berechtigungen gewährt wurden:

    • repl_distribution: Lesen
    • repl_merge: Lesen
    • repl_snapshot: Vollzugriff

    User permissions for replication data

  12. Klicken Sie erneut auf die Registerkarte Freigabe, und notieren Sie sich den Netzwerkpfad für die Freigabe. Sie benötigen diesen Pfad später, wenn Sie den Momentaufnahmeordner konfigurieren.

    Network path on the

  13. Klicken Sie auf OK, um das Dialogfeld repldata Properties zu schließen.

Weitere Informationen finden Sie unter Secure the snapshot folder (Schützen des Momentaufnahmeordners).

Konfigurieren der Verteilung

In diesem Abschnitt konfigurieren Sie die Verteilung auf dem Verleger und legen die erforderlichen Berechtigungen für die Verteilungs- und Veröffentlichungsdatenbank fest. Wenn Sie den Verteiler bereits konfiguriert haben, müssen Sie die Veröffentlichung und die Verteilung deaktivieren, bevor Sie mit dem Lesen des folgenden Abschnitts beginnen. Führen Sie diesen Schritt nicht aus, falls Sie eine vorhandene Replikationstopologie beibehalten müssen. Dies gilt insbesondere für die Produktionsumgebung.

Das Konfigurieren eines Verlegers mit einem Remoteverteiler wird in diesem Tutorial nicht behandelt.

Konfigurieren der Verteilung auf dem Verleger

  1. Verbinden zum Herausgeber in SQL Server Management Studio, und erweitern Sie dann den Serverknoten.

  2. Klicken Sie mit der rechten Maustaste auf den Ordner Replikation, und klicken Sie anschließend auf Verteilung konfigurieren:

    Hinweis

    • Wenn Sie eine Verbindung mit SQL Server mithilfe von localhost anstelle des tatsächlichen Servernamens herstellen, werden Sie mit einer Warnung aufgefordert, dass SQL Server keine Verbindung mit localhost oder IP-Adresse herstellen kann. Klicken Sie im Warnungsdialogfeld auf OK. Ändern Sie im Dialogfeld Verbindung mit Server herstellen die Angabe für Servername von localhost oder der IP-Adresse in den Namen des Servers. Wählen Sie dann Verbinden aus.
    • Zurzeit liegt ein bekanntes Problem mit SQL Server Management Studio 18.0 und höher (SSMS) vor, bei dem eine Warnmeldung nicht angezeigt wird, wenn eine Verbindung zum Verteiler über die IP-Adresse hergestellt wird, diese jedoch weiterhin ungültig ist. Der tatsächliche Servername sollte beim Herstellen einer Verbindung zum Verteiler verwendet werden.

    Der Verteilungskonfigurations-Assistent wird gestartet.

  3. Wählen Sie auf der Seite "Distributor" die Option< "ServerName"> als eigener Distributor aus. SQL Server erstellt eine Verteilungsdatenbank und ein Protokoll. Wählen Sie Weiteraus.

    Option to make the server act as its own distributor

  4. Wenn die SQL Server-Agent nicht ausgeführt wird, wählen Sie auf der Startseite des SQL Server-Agents "Ja" aus, konfigurieren Sie den SQL Server-Agent Dienst so, dass er automatisch gestartet wird. Wählen Sie Weiter aus.

  5. Geben Sie den Pfad \\<Publisher_Machine_Name>\repldata im Ordner "Snapshot" ein, und wählen Sie dann "Weiter" aus. Dieser Pfad sollte mit dem übereinstimmen, der zuvor im Eigenschaftenordner von „repldata“ unter Netzwerkpfad nach dem Konfigurieren der Freigabeeigenschaften angezeigt wurde.

    Comparison of network paths in the

  6. Übernehmen Sie die Standardwerte auf den restlichen Seiten des Assistenten.

    Last page of the wizard

  7. Klicken Sie auf Fertig stellen, um die Verteilung zu aktivieren.

Beim Konfigurieren des Verteilers kann die unten abgebildete Fehlermeldung angezeigt werden. Sie weist darauf hin, dass das Konto, mit dem das SQL Server-Agent-Konto gestartet wurde, kein Administratorkonto im System ist. Sie müssen den SQL Server-Agent daher entweder manuell starten und dem bestehenden Konto diese Berechtigungen gewähren oder das Konto ändern, das der SQL Server-Agent nutzt.

Error message for configuring the SQL Server Agent

Wenn Ihre SSMS-Instanz mit Administratorrechten ausgeführt wird, können Sie den SQL-Agent manuell innerhalb von SSMS starten:

Selecting

Hinweis

Wenn der SQL-Agent nicht sichtbar gestartet wird, klicken Sie in SSMS mit der rechten Maustaste auf den SQL Server-Agent und anschließend auf Aktualisieren. Wenn er weiterhin nicht gestartet wird, müssen Sie ihn manuell über den SQL Server-Konfigurations-Manager starten.

Festlegen von Datenbankberechtigungen

  1. Erweitern Sie in SQL Server Management Studio "Sicherheit", klicken Sie mit der rechten Maustaste auf "Anmeldungen", und wählen Sie dann "Neue Anmeldung" aus:

  2. Klicken Sie auf der Seite Allgemein auf Suchen. Geben Sie <Publisher_Machine_Name>\repl_Momentaufnahme in das Zu aktivierende Feld "Objektnamen eingeben" ein, wählen Sie "Namen überprüfen" und dann "OK" aus.

    Selections for entering the object name

  3. Wählen Sie auf der Seite Benutzerzuordnung in der Liste Benutzer, die dieser Anmeldung zugeordnet sind die Datenbanken distribution und AdventureWorks2022 aus.

    Wählen Sie in der Liste „Mitgliedschaft in Datenbankrolle für“ die Rolle db_owner für die Anmeldung bei beiden Datenbanken aus.

    Selecting the databases and their role

  4. Klicken Sie auf OK, um die Anmeldung zu erstellen.

  5. Wiederholen Sie die Schritte 1 bis 4, um eine Anmeldung für die anderen lokalen Konten (repl_distribution, repl_logreader und repl_merge) zu erstellen. Diese Anmeldungen müssen auch den Benutzern zugeordnet werden, die Mitglieder der festen Datenbankrolle db_owner in den Datenbanken distribution und AdventureWorks sind.

    View of all four accounts in Object Explorer

Weitere Informationen finden Sie unter:

Nächste Schritte

Sie haben Ihren Server jetzt erfolgreich für die Replikation vorbereitet. Im nächsten Artikel erfahren Sie, wie Sie die Transaktionsreplikation konfigurieren: