Teilen über


Einrichten der geografischen Redundanz mit SQL Server-Replikation

Wichtig

Wenn Sie eine AD FS-Farm erstellen und Ihre Konfigurationsdaten mithilfe von SQL Server speichern möchten, können Sie SQL Server 2008 und höhere Versionen verwenden.

Wenn Sie SQL Server als AD FS-Konfigurationsdatenbank verwenden, können Sie mit SQL Server-Replikation Georedundanz für Ihre AD FS-Farm einrichten. Georedundanz repliziert Daten zwischen zwei geografisch entfernten Standorten, sodass Anwendungen von einem Standort zu einem anderen wechseln können. Auf diese Weise haben Sie beim Ausfall eines Standorts weiterhin alle Konfigurationsdaten am zweiten Standort zur Verfügung. Weitere Informationen finden Sie unter Legacy-AD FS-Verbundserverfarm mit SQL Server im Abschnitt zur geografischen Redundanz in SQL Server.

Voraussetzungen

Installieren und konfigurieren Sie eine SQL Server-Farm. Weitere Informationen finden Sie unter https://technet.microsoft.com/evalcenter/hh225126.aspx. Stellen Sie auf der anfänglichen SQL Server-Instanz sicher, dass der SQL Server-Agent-Dienst ausgeführt wird, und legen Sie den automatischen Start fest.

Erstellen der zweiten SQL Server-Instanz (Replikat) für Georedundanz

  1. Installieren Sie SQL Server (weitere Informationen finden Sie unter https://technet.microsoft.com/evalcenter/hh225126.aspx). Kopieren Sie die resultierenden Skriptdateien „CreateDB.sql“ und „SetPermissions.sql“ in die Replikat-SQL Server-Instanz.

  2. Sicherstellen, dass der SQL-Agent-Dienst ausgeführt wird und auf automatischen Start festgelegt ist

  3. Führen Sie Export-AdfsDeploymentSQLScript auf dem primären AD FS-Knoten aus, um die Dateien „CreateDB.sql“ und „SetPermissions.sql“ zu erstellen. Beispiel: PS:\>Export-AdfsDeploymentSQLScript -DestinationFolder . –ServiceAccountName CONTOSO\gmsa1$. Screenshot: Ausführen von Export-AdfsDeploymentSQLScript auf dem primären AD FS-Knoten.

  4. Kopieren Sie die Skripts auf Ihren sekundären Server. Öffnen Sie das Skript „CreateDB.sql“ in SQL Management Studio, und klicken Sie auf Ausführen. Screenshot: Öffnen des Skripts „CreateDB.sql“ in SQL Management Studio.

  5. Öffnen Sie das Skript „SetPermissions.sql“ in SQL Management Studio, und klicken Sie auf Ausführen. Screenshot: Öffnen des Skripts „SetPermissions.sql“ in SQL Management Studio.

Hinweis

Sie können auch das Folgende in der Befehlszeile verwenden.

c:\>sqlcmd –i CreateDB.sql

c:\>sqlcmd –i SetPermissions.sql

Erstellen von Herausgebereinstellungen für die anfängliche SQL Server-Instanz

  1. Klicken Sie im SQL Server Management Studio unter "Replikation" mit der rechten Maustaste auf "Lokale Publikationen", und wählen Sie "Neue Publikation" aus...Screenshot: Menüoption „Neue Veröffentlichung“.

  2. Klicken Sie auf dem Bildschirm "Neuer Publikations-Assistent" auf "Weiter".
    Screenshot: Bildschirm „Assistent für neue Veröffentlichung“.

  3. Wählen Sie auf der Seite Verteiler den lokalen Server als Verteiler aus, und klicken Sie auf Weiter. Screenshot: Auswahl des lokalen Servers als Verteiler.

  4. Geben Sie auf der Ordnerseite Momentaufnahme „\\SQL1\repldata“ anstelle des Standardordners ein. (HINWEIS: Möglicherweise müssen Sie diese Freigabe selbst erstellen.) Screenshot: Eingabe des Pfads zum standardmäßigen Momentaufnahmeordner.

  5. Wählen Sie AdfsConfigurationV3 als Veröffentlichungsdatenbank aus, und klicken Sie auf Weiter. Screenshot: Auswahl von AdfsConfigurationV3 als Veröffentlichungsdatenbank.

  6. Wählen Sie unter Veröffentlichungstyp die Option Veröffentlichung zusammenführen aus, und klicken Sie auf Weiter. Screenshot, der zeigt, wo

  7. Wählen Sie unter Abonnententypen die Option SQL Server 2008 oder höher aus, und klicken Sie auf Weiter. Screenshot: Auswahl von „SQL Server 2008 oder höher“.

  8. Wählen Sie auf der Seite "Artikel" den Knoten "Tabellen" aus, um alle Tabellen auszuwählen, und deaktivieren Sie dann die Synchronisierungseigenschaftstabelle (diese sollte nicht repliziert werden).
    Screenshot, der zeigt, wo das Kontrollkästchen SyncProperties (IdentityServerPolicy) deaktiviert werden soll.

  9. Wählen Sie auf der Seite Artikel den Knoten Benutzerdefinierte Funktionen aus, um alle benutzerdefinierten Funktionen auszuwählen, und klicken Sie auf Weiter. Screenshot: Aktivieren des Kontrollkästchens „Benutzerdefinierte Funktionen“.

  10. Klicken Sie auf der Seite Artikelprobleme auf Weiter. Screenshot: Bildschirm „Artikelprobleme“.

  11. Klicken Sie auf der Seite Tabellenzeilen filtern auf Weiter. Screenshot: Bildschirm „Tabellenzeilen filtern“.

  12. Wählen Sie auf der Seite Momentaufnahme-Agent die Standardwerte „Sofort“ und „14 Tage“ aus, und klicken Sie auf Weiter. Screenshot des Bildschirms „Momentaufnahme-Agent“.
    Möglicherweise müssen Sie ein Domänenkonto für den SQL-Agent erstellen. Führen Sie die Schritte unter Konfigurieren der SQL-Anmeldung für das Domänenkonto CONTOSO\sqlagent aus, um eine SQL-Anmeldung für diesen neuen AD-Benutzer zu erstellen und bestimmte Berechtigungen zuzuweisen.

  13. Klicken Sie auf der Seite Agent-Sicherheit auf Sicherheitseinstellungen, geben Sie den Benutzernamen/das Kennwort eines Domänenkontos (kein GMSA) ein, das für den SQL-Agent erstellt wurde, und klicken Sie auf OK. Klicken Sie auf Weiter. Screenshot: Eingabe des Benutzernamens und Kennworts für das Domänenkonto.

  14. Klicken Sie auf der Seite Aktionen des Assistenten auf Weiter. Screenshot des Bildschirms „Aktionen des Assistenten“.

  15. Geben Sie auf der Seite Assistenten abschließen einen Namen für die Veröffentlichung an, und klicken Sie auf Fertig stellen. Screenshot, der zeigt, wo Sie einen Namen für Ihre Veröffentlichung eingeben.

  16. Sobald die Veröffentlichung erstellt wurde, sollte der Erfolgsstatus angezeigt werden. Klicken Sie auf Schließen. Screenshot: Erfolgreicher Abschluss der Veröffentlichung.

  17. Klicken Sie zurück in SQL Server Management Studio mit der rechten Maustaste auf die neue Veröffentlichung, und klicken Sie dann auf Replikationsmonitor starten. Screenshot: Menüoption „Replikationsmonitor starten“.

Erstellen von Abonnementeinstellungen auf der Replikat-SQL Server-Instanz

Stellen Sie sicher, dass Sie die Herausgebereinstellungen für die anfängliche SQL Server-Instanz wie oben beschrieben erstellt haben, und führen Sie dann das folgende Verfahren aus:

  1. Klicken Sie im Replikat SQL Server im SQL Server Management Studio unter "Replikation" mit der rechten Maustaste auf "Lokale Abonnements", und wählen Sie "Neues Abonnement" aus. Screenshot, der zeigt, wo Sie „Neues Abonnement“ auswählen.

  2. Klicken Sie auf der Seite Assistent für neue Abonnements auf Weiter. Screenshot des Bildschirms „Assistent für neue Abonnements“.

  3. Wählen Sie auf der Seite Veröffentlichung den Herausgeber aus der Dropdownliste aus. Erweitern Sie AdfsConfigurationV3, wählen Sie den Namen der oben erstellten Veröffentlichung aus, und klicken Sie auf Weiter. Screenshot: Erweiterung von AdfsConfigurationV3 und Auswählen des Namens der von Ihnen erstellten Veröffentlichung.

  4. Wählen Sie auf der Seite Speicherort des Merge-Agents die Option Jeden Agent auf seinem Abonnenten ausführen (Pullabonnements) (Standard) aus, und klicken Sie dann auf Weiter. Screenshot der Option „Jeden Agent auf seinem Abonnenten ausführen (Pullabonnements)“.
    Dies bestimmt zusammen mit dem folgenden Abonnementtyp die Konfliktlösungslogik. (Weitere Informationen finden Sie unter Erkennen und Beseitigen von Konflikten bei der Mergereplikation.

  5. Wählen Sie auf der Seite Abonnenten die Option AdfsConfigurationV3 als Abonnentendatenbank aus, und klicken Sie auf Weiter. Screenshot des Bildschirms „Abonnenten“.

  6. Klicken Sie auf der Seite Sicherheit für den Merge-Agent auf ..., und geben Sie den Benutzernamen und das Kennwort eines Domänenkontos (kein GMSA) ein, das mithilfe des Felds mit den Auslassungspunkten für den SQL-Agent erstellt wurde, und klicken Sie auf Weiter. Screenshot: Bildschirm „Sicherheit für den Merge-Agent“.

  7. Wählen Sie unter Synchronisierungszeitplan die Option Fortlaufend ausführen aus, und klicken Sie auf Weiter. Screenshot: Auswahl der Option „Fortlaufend ausführen“.

  8. Klicken Sie unter Abonnements initialisieren auf Weiter. Screenshot: Bildschirm „Abonnements initialisieren“.

  9. Wählen Sie unter Abonnementtyp die Option Client aus, und klicken Sie auf Weiter.

    Implikationen hiervon werden hier und hier dokumentiert. Im Wesentlichen verwenden wir die einfache Konfliktlösung „Erste Daten auf Verleger gewinnen“, und wir müssen nicht erneut für andere Abonnenten veröffentlichen. Screenshot: Bildschirm „Abonnementtyp“.

  10. Stellen Sie auf der Seite Aktionen des Assistenten sicher, dass Abonnement erstellen aktiviert ist, und klicken Sie auf Weiter. Screenshot: Überprüfen, ob die Option „Abonnement erstellen“ ausgewählt ist.

  11. Klicken Sie auf der Seite Assistenten abschließen auf Fertig stellen. Screenshot: Bildschirm „Assistenten abschließen“.

  12. Sobald der Prozess der Abonnementerstellung abgeschlossen hat, sollte eine Erfolgsmeldung angezeigt werden. Klicken Sie auf Schließen. Einrichten der geografischen Redundanz

Überprüfen des Initialisierungs- und Replikationsprozesses

  1. Klicken Sie auf der primären SQL Server-Instanz mit der rechten Maustaste auf den Knoten Replikation und dann auf Replikationsmonitor starten.

  2. Klicken Sie im Replikationsmonitor auf die Veröffentlichung.

  3. Klicken Sie auf der Registerkarte Alle Abonnements mit der rechten Maustaste auf Details anzeigen.

    Unter Aktionen für die anfängliche Replikation sollten viele Einträge angezeigt werden.

  4. Darüber hinaus können Sie unter dem Knoten SQL Server-Agent\Aufträge die Aufträge anzeigen, die für die Ausführung der Vorgänge der Veröffentlichung/des Abonnements geplant sind. Es werden nur lokale Aufträge angezeigt. Überprüfen Sie daher unbedingt den Herausgeber und den Abonnenten für die Problembehandlung. Klicken Sie mit der rechten Maustaste auf einen Auftrag, und wählen Sie Verlauf anzeigen aus, um den Ausführungsverlauf und die Ergebnisse anzuzeigen.

Konfigurieren der SQL-Anmeldung für das Domänenkonto CONTOSO\sqlagent

  1. Erstellen Sie eine neue Anmeldung für die primäre und die Replikat-SQL Server-Instanz mit Namen CONTOSO\sqlagent (der Name des neuen Domänenbenutzers, der in den obigen Verfahren auf der Seite Agent-Sicherheit erstellt und konfiguriert wurde.)

  2. Klicken Sie in SQL Server mit der rechten Maustaste auf die von Ihnen erstellte Anmeldung, wählen Sie „Eigenschaften“ aus, und ordnen Sie diese Anmeldung dann auf der Registerkarte Benutzerzuordnung den Datenbanken AdfsConfiguration und AdfsArtifact mit öffentlichen und db_genevaservice-Rollen zu. Ordnen Sie diese Anmeldung auch der Verteilungsdatenbank zu, und fügen Sie die Rolle „db_owner“ sowohl für Verteilungs- als auch adfsconfiguration-Tabellen hinzu. Führen Sie dies ggf. sowohl für die primäre auch die Replikat-SQL Server-Instanz aus. Weitere Informationen finden Sie unter Replication Agent Security Model.

  3. Erteilen Sie dem entsprechenden Domänenkonto Lese- und Schreibberechtigungen für die als Verteiler konfigurierte Freigabe. Achten Sie darauf, Lese- und Schreibberechtigungen sowohl in den Freigabeberechtigungen als auch den lokalen Dateiberechtigungen festzulegen.

Konfigurieren von AD FS-Knoten, sodass sie auf die SQL Server-Replikatfarm verweisen

Nachdem Sie die Georedundanz eingerichtet haben, können die AD FS-Farmknoten mithilfe der standardmäßigen AD FS-„Join“-Farmfunktionen entweder über die Benutzeroberfläche des AD FS-Konfigurations-Assistenten oder mit Windows PowerShell so konfiguriert werden, dass sie auf Ihre Replikat-SQL Server-Farm zeigen.

Wenn Sie die Benutzeroberfläche des AD FS-Konfigurations-Assistenten verwenden, wählen Sie Hinzufügen eines Verbundservers zu einer Verbundserverfarm aus. Wählen Sie NICHTErstellen des ersten Verbundservers in einer Verbundserverfarm aus.

Wenn Sie Windows PowerShell verwenden, führen Sie Add-AdfsFarmNode aus. Führen Sie NICHTInstall-AdfsFarm aus.

Wenn Sie dazu aufgefordert werden, geben Sie den Host- und Instanznamen der Replikat-SQL Server-Instanz ein, NICHT die anfängliche SQL Server-Instanz.