Auf dieser Seite wird beschrieben, was AlwaysOn-Verfügbarkeitsgruppen in SQL Server sind und wie sie von Datastream für Failover- und Datenwiederherstellungsszenarien unterstützt werden.
Always On-Verfügbarkeitsgruppen – Übersicht
In SQL Server sind AlwaysOn-Verfügbarkeitsgruppen eine Hochverfügbarkeitslösung, mit der Sie Ihre Datenbanken auf Notfallwiederherstellungsszenarien vorbereiten können.
Mit Always On-Verfügbarkeitsgruppen lässt sich die Datenbankverfügbarkeit für Unternehmen maximieren. 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 Schreibaufgaben und 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 immer aktive 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 nur an den Client gesendet, wenn das sekundäre Replikat die eingehenden Transaktionsprotokolleinträge auf ein Laufwerk 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 so aktivieren, dass er bei einem Failover Protokolle erfasst, und dann einen Bereinigungsjob ausführen. Bevor Sie dies tun können, müssen Sie die Jobschritte des CDC-Agents ändern, um zu prüfen, 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 die 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