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
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.
Sicherstellen, dass der SQL-Agent-Dienst ausgeführt wird und auf automatischen Start festgelegt ist
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$
.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.
Öffnen Sie das Skript „SetPermissions.sql“ in SQL Management Studio, und klicken Sie auf Ausführen.
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
Klicken Sie im SQL Server Management Studio unter "Replikation" mit der rechten Maustaste auf "Lokale Publikationen", und wählen Sie "Neue Publikation" aus...
Klicken Sie auf dem Bildschirm "Neuer Publikations-Assistent" auf "Weiter".
Wählen Sie auf der Seite Verteiler den lokalen Server als Verteiler aus, und klicken Sie auf Weiter.
Geben Sie auf der Ordnerseite Momentaufnahme „\\SQL1\repldata“ anstelle des Standardordners ein. (HINWEIS: Möglicherweise müssen Sie diese Freigabe selbst erstellen.)
Wählen Sie AdfsConfigurationV3 als Veröffentlichungsdatenbank aus, und klicken Sie auf Weiter.
Wählen Sie unter Veröffentlichungstyp die Option Veröffentlichung zusammenführen aus, und klicken Sie auf Weiter.
Wählen Sie unter Abonnententypen die Option SQL Server 2008 oder höher aus, und klicken Sie auf Weiter.
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).
Wählen Sie auf der Seite Artikel den Knoten Benutzerdefinierte Funktionen aus, um alle benutzerdefinierten Funktionen auszuwählen, und klicken Sie auf Weiter.
Klicken Sie auf der Seite Artikelprobleme auf Weiter.
Klicken Sie auf der Seite Tabellenzeilen filtern auf Weiter.
Wählen Sie auf der Seite Momentaufnahme-Agent die Standardwerte „Sofort“ und „14 Tage“ aus, und klicken Sie auf Weiter.
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.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.
Klicken Sie auf der Seite Aktionen des Assistenten auf Weiter.
Geben Sie auf der Seite Assistenten abschließen einen Namen für die Veröffentlichung an, und klicken Sie auf Fertig stellen.
Sobald die Veröffentlichung erstellt wurde, sollte der Erfolgsstatus angezeigt werden. Klicken Sie auf Schließen.
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.
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:
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.
Klicken Sie auf der Seite Assistent für neue Abonnements auf Weiter.
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.
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.
Dies bestimmt zusammen mit dem folgenden Abonnementtyp die Konfliktlösungslogik. (Weitere Informationen finden Sie unter Erkennen und Beseitigen von Konflikten bei der Mergereplikation.Wählen Sie auf der Seite Abonnenten die Option AdfsConfigurationV3 als Abonnentendatenbank aus, und klicken Sie auf Weiter.
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.
Wählen Sie unter Synchronisierungszeitplan die Option Fortlaufend ausführen aus, und klicken Sie auf Weiter.
Klicken Sie unter Abonnements initialisieren auf Weiter.
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.
Stellen Sie auf der Seite Aktionen des Assistenten sicher, dass Abonnement erstellen aktiviert ist, und klicken Sie auf Weiter.
Klicken Sie auf der Seite Assistenten abschließen auf Fertig stellen.
Sobald der Prozess der Abonnementerstellung abgeschlossen hat, sollte eine Erfolgsmeldung angezeigt werden. Klicken Sie auf Schließen.
Überprüfen des Initialisierungs- und Replikationsprozesses
Klicken Sie auf der primären SQL Server-Instanz mit der rechten Maustaste auf den Knoten Replikation und dann auf Replikationsmonitor starten.
Klicken Sie im Replikationsmonitor auf die Veröffentlichung.
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.
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
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.)
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.
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.