Auf dieser Seite wird beschrieben, was AlwaysOn-Verfügbarkeitsgruppen in SQL Server sind und wie Datastream sie für Failover- und Datenwiederherstellungsszenarien unterstützt.
Übersicht über Always On-Verfügbarkeitsgruppen
In SQL Server sind Always On-Verfügbarkeitsgruppen eine Hochverfügbarkeitslösung, mit der Sie Ihre Datenbanken auf Notfallwiederherstellungsszenarien vorbereiten können.
Always On-Verfügbarkeitsgruppen maximieren die Datenbankverfügbarkeit für Unternehmen. Verfügbarkeitsgruppen unterstützen eine replizierte Umgebung für eine ausgewählte Gruppe von Datenbanken, die als Verfügbarkeitsdatenbanken bezeichnet werden. Jede Gruppe enthält einen Satz primärer Datenbanken für Lese- und Schreibvorgänge sowie bis zu acht Sätze entsprechender sekundärer Datenbanken. Die sekundären Datenbanken können optional Lesezugriff oder Sicherungsvorgänge zulassen.
Weitere Informationen zu AlwaysOn-Verfügbarkeitsgruppen finden Sie in der SQL Server-Dokumentation unter Was ist eine AlwaysOn-Verfügbarkeitsgruppe?.
Informationen zu den Voraussetzungen für AlwaysOn-Verfügbarkeitsgruppen für eine SQL Server-Instanz finden Sie in der SQL Server-Dokumentation.
Datastream für die Verwendung mit Always On-Verfügbarkeitsgruppen konfigurieren
Datastream unterstützt den Verfügbarkeitsmodus synchronous-commit mit der CDC-Methode für Tabellenänderungen. In diesem Modus bleibt die sekundäre Datenbank mit der entsprechenden primären Datenbank synchronisiert, bis die Datensynchronisierung beendet wird. Die Bestätigung einer Transaktion wird erst an den Client gesendet, wenn das sekundäre Replikat die eingehenden Transaktionslog-Einträge auf eine Festplatte schreibt.
Informationen zu Verfügbarkeitsmodi finden Sie unter Unterschiede zwischen Verfügbarkeitsmodi für eine Always On-Verfügbarkeitsgruppe.
Wenn Sie Ihre SQL Server-Instanz für die Verwendung mit AlwaysOn-Verfügbarkeitsgruppen konfigurieren möchten, müssen Sie den SQL Server-Agent aktivieren, damit Protokolle erfasst werden, wenn ein Failover erfolgt. Anschließend müssen Sie einen Bereinigungsjob ausführen. Bevor Sie das tun können, müssen Sie die Jobschritte des CDC-Agents so ändern, dass geprüft wird, ob das aktuelle Replikat tatsächlich das primäre ist. Dazu wird die Funktion sys.fn_hadr_is_primary_replica verwendet.
Verwenden Sie die folgenden Befehle, um Ihre Instanz einzurichten:
-- Check if the current replica is a primary for the corresponding database.
USE [DATABASE_NAME];
DECLARE @DatabaseName SYSNAME = DB_NAME();
IF (SELECT sys.fn_hadr_is_primary_replica(@DatabaseName)) = 1
BEGIN
-- If the replica isn't a primary, the code block that follows is skipped
EXECUTE sys.sp_cdc_add_job @job_type = 'capture';
EXECUTE sys.sp_cdc_add_job @job_type = 'cleanup';
END
Bekannte Einschränkungen
Bekannte Einschränkungen bei der Verwendung von Datastream mit Always On-Verfügbarkeitsgruppen:
- Datastream unterstützt keine private DNS-Auflösung basierend auf Listener-IP-Adressen. Sie müssen die IP-Adressen für die Replikate manuell umstellen.
- Nach einem Failover der Verfügbarkeitsgruppe müssen Sie manuell dafür sorgen, dass die Erfassungs- und Bereinigungsjobs des SQL Server-Agents auf dem neuen primären Server ausgeführt werden. Andernfalls kann es zu Datenverlusten kommen, wenn die Transaktionslogs abgeschnitten werden, bevor Datastream die Änderungen lesen kann.
- Wenn ein Replikat vor dem primären Stream erstellt wird, müssen Sie Ihrem Stream das Label
always_on_availability: truehinzufügen, um Probleme mit der Datenintegrität zu vermeiden. Informationen zum Hinzufügen von Labels zu Ihrem Stream finden Sie unter Einstellungen für den Stream festlegen.