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.
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:
Eine Edition von SQL Server (mit Ausnahme von SQL Server Express und SQL Server Compact). Diese Editionen können keine Replikationsverleger sein.
Die
AdventureWorks2022
-Beispieldatenbank Um die Sicherheit zu verbessern, werden die Beispieldatenbanken nicht standardmäßig installiert.
Installieren Sie auf dem Abonnentenserver (Ziel) eine 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 Developer Edition.
Laden Sie die AdventureWorks-Beispieldatenbank herunter. Anweisungen zum Wiederherstellen einer Datenbank in SSMS finden Sie unter Wiederherstellen einer Datenbanksicherung mithilfe von SSMS.
Hinweis
Die Replikation wird für SQL Server-Instanzen, die mehr als zwei Versionen voneinander trennen, nicht unterstützt. Weitere Informationen finden Sie unter Abwärtskompatibilität der Replikation.
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 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 | Location | Account name |
---|---|---|
Momentaufnahme-Agent | Herausgeber | <machine_name>\repl_snapshot |
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 Replikationstutorials wird für Herausgeber und Verteiler dieselbe Instanz (NODE1\SQL2016) von SQL Server gemeinsam verwendet. Die Abonnenteninstanz (NODE2\SQL2016) ist eine Remoteinstanz. Der Herausgeber und Abonnent verwenden möglicherweise dieselbe Instanz von SQL Server, ist aber keine Anforderung. Wenn der Herausgeber und Abonnent dieselbe Instanz gemeinsam nutzen, sind die Schritte, die zum Erstellen von Konten beim Abonnenten verwendet werden, nicht erforderlich.
Erstellen lokaler Windows-Konten für Replikations-Agents auf dem Verleger
Öffnen Sie auf dem Verleger in der Systemsteuerung unter Verwaltung die Anwendung Computerverwaltung.
Erweitern Sie unter Systemden Eintrag Lokale Benutzer und Gruppen.
Klicken Sie mit der rechten Maustaste auf Benutzer, und klicken Sie dann auf Neuer Benutzer.
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:
Wiederholen Sie den letzten Schritt, um die Konten „repl_logreader“, „repl_distribution“ und „repl_merge“ zu erstellen:
Wählen Sie Schließen aus.
Erstellen lokaler Windows-Konten für Replikations-Agents auf dem Abonnenten
Öffnen Sie auf dem Abonnenten in der Systemsteuerung unter Verwaltung die Anwendung Computerverwaltung.
Erweitern Sie unter Systemden Eintrag Lokale Benutzer und Gruppen.
Klicken Sie mit der rechten Maustaste auf Benutzer, und klicken Sie dann auf Neuer Benutzer.
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.
Wiederholen Sie den letzten Schritt, um das Konto repl_merge zu erstellen.
Wählen Sie Schließen aus.
Weitere Informationen finden Sie unter Übersicht über Replikations-Agents.
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
Navigieren Sie im Datei-Explorer zum SQL Server-Datenordner. Der Standardspeicherort lautet C:\Programme\Microsoft SQL Server\MSSQL.X\MSSQL\Data.
Erstellen Sie einen neuen Ordner mit dem Namen repldata.
Klicken Sie mit der rechten Maustaste auf diesen Ordner, und wählen Sie Eigenschaften aus.
Klicken Sie auf der Registerkarte Freigabe im Dialogfeld repldata Properties (Eigenschaften von repldata) auf Erweiterte Freigabe.
Klicken Sie im Dialogfeld Erweiterte Freigabe auf Diesen Ordner freigeben, und klicken Sie dann auf Berechtigungen.
Klicken Sie im Dialogfeld Berechtigungen für repldata auf Hinzufügen. Geben Sie im Dialogfeld Select Users, Computers, Service Accounts, or Groups (Benutzer, Computer, Dienstkonten oder Gruppen auswählen) den Namen des zuvor erstellten Momentaufnahmen-Agent-Kontos ein: <Name_des_Herausgebercomputers>\repl_snapshot. Klicken Sie auf Namen überprüfen und dann auf OK.
Wiederholen Sie Schritt 6, um die anderen beiden Konten hinzuzufügen, die Sie zuvor erstellt haben: <Name_des_Herausgebercomputers>\repl_merge und <Name_des_Herausgebercomputers>\repl_distribution.
Weisen Sie nach dem Hinzufügen der drei Konten die folgenden Berechtigungen zu:
- repl_distribution: Lesen
- repl_merge: Lesen
- repl_snapshot: Vollzugriff
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.
Klicken Sie im Dialogfeld repldata Properties (Eigenschaften von „repldata“) zuerst auf die Registerkarte Sicherheit und anschließend auf Bearbeiten:
Klicken Sie im Dialogfeld Berechtigungen für repldata auf Hinzufügen. Geben Sie im Dialogfeld Select Users, Computers, Service Accounts, or Groups (Benutzer, Computer, Dienstkonten oder Gruppen auswählen) den Namen des zuvor erstellten Momentaufnahmen-Agent-Kontos ein: <Name_des_Herausgebercomputers>\repl_snapshot. Klicken Sie auf Namen überprüfen und dann auf OK.
Wiederholen Sie den vorherigen Schritt, um Berechtigungen für den Verteilungs-Agent <Name_des_Herausgebercomputers>\repl_distribution und für den Merge-Agent <Name_des_Herausgebercomputers>\repl_merge hinzuzufügen.
Überprüfen Sie, ob die folgenden Berechtigungen gewährt wurden:
- repl_distribution: Lesen
- repl_merge: Lesen
- repl_snapshot: Vollzugriff
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 Ihren Snapshotordner konfigurieren.
Klicken Sie auf OK, um das Dialogfeld repldata Properties zu schließen.
Weitere Informationen finden Sie unter 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 Distributor bereits konfiguriert haben, müssen Sie die Veröffentlichung und Verteilung deaktivieren, bevor Sie diesen Abschnitt beginnen. Deaktivieren Sie die Veröffentlichung und Verteilung nicht, wenn Sie eine vorhandene Replikationstopologie beibehalten müssen, insbesondere in der Produktion.
Das Konfigurieren eines Verlegers mit einem Remoteverteiler wird in diesem Tutorial nicht behandelt.
Konfigurieren der Verteilung auf dem Verleger
Stellen Sie mit dem Herausgeber in SQL Server Management Studio eine Verbindung her, und erweitern Sie dann den Serverknoten.
Klicken Sie mit der rechten Maustaste auf den Ordner Replikation, und klicken Sie anschließend auf Verteilung konfigurieren:
Wenn Sie eine Verbindung mit SQL Server herstellen, indem Sie "localhost" anstelle des tatsächlichen Servernamens verwenden, wird eine Warnung angezeigt, 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.
Es gibt derzeit ein bekanntes Problem mit SQL Server Management Studio (SSMS) 18.0 (und höher), bei dem eine Warnmeldung beim Herstellen einer Verbindung mit dem Distributor mit der IP-Adresse nicht angezeigt wird, aber noch ungültig ist. Der tatsächliche Servername sollte beim Herstellen einer Verbindung zum Verteiler verwendet werden.
Hinweis
Der Servername kann für
<Hostname>,<PortNumber>
eine Standardinstanz oder<Hostname>\<InstanceName>,<PortNumber>
für eine benannte Instanz angegeben werden. Geben Sie die Portnummer für Ihre Verbindung an, wenn SQL Server unter Linux oder Windows mit einem benutzerdefinierten Port bereitgestellt wird, und der Browserdienst ist deaktiviert. Die Verwendung von benutzerdefinierten Portnummern für Remoteverteiler gilt für SQL Server 2019 (15.x) und höhere Versionen.Der Verteilungskonfigurations-Assistent wird gestartet.
Aktivieren Sie auf der Seite Verteiler das Optionsfeld neben <'Servername'> als seinen eigenen Verteiler verwenden. SQL Server erstellt eine Verteilungsdatenbank und ein Protokoll. Wählen Sie Weiteraus.
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.
Geben Sie den Pfad \\<Name_des_Herausgebercomputers>\repldata im Textfeld Momentaufnahmeordner ein, und klicken Sie anschließend auf Weiter. Dieser Pfad sollte mit dem übereinstimmen, der zuvor im Eigenschaftenordner von „repldata“ unter Netzwerkpfad nach dem Konfigurieren der Freigabeeigenschaften angezeigt wurde.
Übernehmen Sie die Standardwerte auf den restlichen Seiten des Assistenten.
Klicken Sie auf Fertig stellen, um die Verteilung zu aktivieren.
Beim Konfigurieren des Verteilers kann die unten abgebildete Fehlermeldung angezeigt werden. Es ist ein Hinweis darauf, dass das Konto, das zum Starten des SQL Server-Agent Kontos verwendet wurde, kein Administrator im System ist. Sie müssen die SQL Server-Agent manuell starten, diese Berechtigungen für das vorhandene Konto erteilen oder ändern, welches Konto die SQL Server-Agent verwendet.
Wenn Ihre SSMS-Instanz mit Administratorrechten ausgeführt wird, können Sie den SQL-Agent manuell innerhalb von SSMS starten:
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
Erweitern Sie in SQL Server Management Studio den Knoten Sicherheit, klicken Sie mit der rechten Maustaste auf Anmeldungen, und wählen Sie anschließend Neue Anmeldung.
Klicken Sie auf der Seite Allgemein auf Suchen. Geben Sie in das Feld Namen des auszuwählenden Objekts eingeben die Zeichenfolge <Name_des_Herausgebercomputers>\repl_snapshot ein, und klicken Sie zuerst auf Namen überprüfen und anschließend auf OK.
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.
Klicken Sie auf OK, um die Anmeldung zu erstellen.
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.
Weitere Informationen finden Sie unter Konfigurieren des Sicherheitsmodells für Verteilungs- und Replikations-Agent.