Erstellen einer Always On-Verfügbarkeitsgruppe mit Transact-SQL (T-SQL)

Gilt für: SQL Server

In diesem Thema wird beschrieben, wie Transact-SQL zum Erstellen und Konfigurieren einer Verfügbarkeitsgruppe für Instanzen von SQL Server mit aktivierter Funktion für Always On-Verfügbarkeitsgruppen verwendet wird. Eine Verfügbarkeitsgruppe definiert einen Satz von Benutzerdatenbanken, für die als eine einzelne Einheit ein Failover ausgeführt wird, sowie einen Satz von Failoverpartnern, die als Verfügbarkeitsreplikatebezeichnet werden, die Failover unterstützen.

Hinweis

Eine Einführung in Verfügbarkeitsgruppen finden Sie unter Übersicht über Always On-Verfügbarkeitsgruppen (SQL Server).

Hinweis

Als Alternative zur Verwendung von Transact-SQL können Sie den Assistenten zum Erstellen einer Verfügbarkeitsgruppe oder SQL Server PowerShell-Cmdlets verwenden. Weitere Informationen finden Sie unter Verwenden des Assistenten für Verfügbarkeitsgruppen (SQL Server Management Studio), Verwenden des Dialogfelds „Neue Verfügbarkeitsgruppe“ (SQL Server Management Studio) oder Erstellen einer Verfügbarkeitsgruppe (SQL Server PowerShell).

Voraussetzungen, Einschränkungen und Empfehlungen

  • Überprüfen Sie vor dem Erstellen einer Verfügbarkeitsgruppe, ob sich die Instanzen von SQL Server , die Verfügbarkeitsreplikate hosten, auf verschiedenen WSFC-Konten (Windows Server Failover Clustering) des gleichen WSFC-Failoverclusters befinden. Stellen Sie außerdem sicher, dass alle Serverinstanzen alle anderen Always On-Verfügbarkeitsgruppen -Voraussetzungen erfüllen. Um weitere Informationen zu erhalten, empfehlen wir Ihnen dringend die Lektüre von Voraussetzungen, Einschränkungen und Empfehlungen für Always On-Verfügbarkeitsgruppen (SQL Server).

Berechtigungen

Erfordert die Mitgliedschaft in der festen Serverrolle sysadmin und die CREATE AVAILABILITY GROUP-Serverberechtigung, ALTER ANY AVAILABILITY GROUP-Berechtigung oder CONTROL SERVER-Berechtigung.

Verwenden von Transact-SQL zum Erstellen und Konfigurieren einer Verfügbarkeitsgruppe

Zusammenfassung von Tasks und entsprechenden Transact-SQL-Anweisungen

In der folgenden Tabelle sind die grundlegenden Tasks aufgeführt, die zum Erstellen und Konfigurieren einer Verfügbarkeitsgruppe erforderlich sind, und es ist angegeben, welche Transact-SQL-Anweisungen für diese Tasks zu verwenden sind. Die Always On-Verfügbarkeitsgruppen -Tasks müssen in der Reihenfolge ausgeführt werden, in der sie in der Tabelle dargestellt sind.

Aufgabe Transact-SQL-Anweisung(en) Wo die Aufgabe auszuführen ist*****
Erstellen eines Datenbankspiegelungs-Endpunkts (einmal pro SQL Server -Instanz) CREATE ENDPOINT endpointName ... FOR DATABASE_MIRRORING Führen Sie diesen Task auf jeder Serverinstanz aus, auf der der Datenbankspiegelungs-Endpunkt fehlt.
Erstellen der Verfügbarkeitsgruppe CREATE AVAILABILITY GROUP Führen Sie diesen Task auf der Serverinstanz aus, auf der das anfängliche primäre Replikat gehostet werden soll.
Verknüpfen eines sekundären Replikats mit einer Verfügbarkeitsgruppe ALTER AVAILABILITY GROUP Gruppenname JOIN Führen Sie diesen Task auf jeder Serverinstanz aus, auf der ein sekundäres Replikat gehostet wird.
Vorbereiten der sekundären Datenbank BACKUP und RESTORE. Erstellen Sie Sicherungen auf der Serverinstanz, auf der das primäre Replikat gehostet wird.

Stellen Sie mit RESTORE WITH NORECOVERY Sicherungen auf jeder Serverinstanz wieder her, auf der ein sekundäres Replikat gehostet wird.
Starten der Datensynchronisierung durch Hinzufügen der einzelnen sekundären Datenbanken zur Verfügbarkeitsgruppe ALTER DATABASE Datenbankname SET HADR AVAILABILITY GROUP = Gruppenname Führen Sie diesen Task auf jeder Serverinstanz aus, auf der ein sekundäres Replikat gehostet wird.

*Zur Ausführung eines bestimmten Tasks stellen Sie eine Verbindung mit der bzw. den angegebenen Serverinstanzen her.

Verwenden von Transact-SQL

Hinweis

Eine Vorgehensweise für eine Beispielkonfiguration mit Codebeispielen für jede dieser Transact-SQL-Anweisungen finden Sie unter Beispiel: Konfigurieren einer Verfügbarkeitsgruppe, die die Windows-Authentifizierung verwendet.

  1. Stellen Sie eine Verbindung mit der Serverinstanz her, auf der das primäre Replikat gehostet werden soll.

  2. Erstellen Sie die Verfügbarkeitsgruppe mithilfe der Transact-SQL-Anweisung CREATE AVAILABILITY GROUP.

  3. Verknüpfen Sie das neue sekundäre Replikat mit der Verfügbarkeitsgruppe. Weitere Informationen finden Sie unter Verknüpfen eines sekundären Replikats mit einer Verfügbarkeitsgruppe (SQL Server).

  4. Erstellen Sie für jede Datenbank in der Verfügbarkeitsgruppe eine sekundäre Datenbank, indem Sie letzte Sicherungen der primären Datenbank mit RESTORE WITH NORECOVERY wiederherstellen. Weitere Informationen finden Sie unter Example: Setting Up an Availability Group Using Windows Authentication (Transact-SQL) (Beispiel: Einrichten einer Verfügbarkeitsgruppe mithilfe der Windows-Authentifizierung (Transact-SQL)) ab dem Schritt, in dem die Datenbanksicherung wiederhergestellt wird.

  5. Verknüpfen Sie alle neuen sekundären Datenbanken mit der Verfügbarkeitsgruppe. Weitere Informationen finden Sie unter Verknüpfen eines sekundären Replikats mit einer Verfügbarkeitsgruppe (SQL Server).

Beispiel: Konfigurieren einer Verfügbarkeitsgruppe, die die Windows-Authentifizierung verwendet

In diesem Beispiel wird eine Beispielkonfigurationsprozedur für Always On-Verfügbarkeitsgruppen erstellt, die Transact-SQL zum Einrichten von Datenbankspiegelungs-Endpunkten, die die Windows-Authentifizierung verwenden, sowie zum Erstellen und Konfigurieren einer Verfügbarkeitsgruppe und ihrer sekundären Datenbanken verwendet.

Dieses Beispiel enthält folgende Abschnitte:

Erforderliche Komponenten für die Verwendung der Beispielkonfigurationsprozedur

Diese Beispielprozedur weist die folgenden Anforderungen auf:

  • Die Serverinstanzen müssen Always On-Verfügbarkeitsgruppenunterstützen. Weitere Informationen finden Sie unter Voraussetzungen, Einschränkungen und Empfehlungen für Always On-Verfügbarkeitsgruppen (SQL Server).

  • Zwei Beispieldatenbanken, MyDb1 und MyDb2, müssen auf der Serverinstanz vorhanden sein, die das primäre Replikat hostet. In den folgenden Codebeispielen werden diese beiden Datenbanken erstellt und konfiguriert, und es wird eine vollständige Sicherung jeder Datenbank erstellt. Führen Sie diese Codebeispiele auf der Serverinstanz aus, auf der Beispielverfügbarkeitsgruppe erstellt werden soll. Auf dieser Serverinstanz wird das ursprüngliche primäre Replikat der Beispielverfügbarkeitsgruppe gehostet.

    1. Im folgenden Transact-SQL-Beispiel werden diese Datenbanken erstellt und so geändert, dass das vollständige Wiederherstellungsmodell verwendet wird:

      -- Create sample databases:  
      CREATE DATABASE MyDb1;  
      GO  
      ALTER DATABASE MyDb1 SET RECOVERY FULL;  
      GO  
      
      CREATE DATABASE MyDb2;  
      GO  
      ALTER DATABASE MyDb2 SET RECOVERY FULL;  
      GO  
      
    2. Im folgenden Codebeispiel wird eine vollständige Datenbanksicherung von MyDb1 und MyDb2erstellt. In diesem Codebeispiel wird eine fiktive Sicherungsfreigabe verwendet: \\FILESERVER\SQLbackups.

      -- Backup sample databases:  
      BACKUP DATABASE MyDb1   
      TO DISK = N'\\FILESERVER\SQLbackups\MyDb1.bak'   
          WITH FORMAT;  
      GO  
      
      BACKUP DATABASE MyDb2   
      TO DISK = N'\\FILESERVER\SQLbackups\MyDb2.bak'   
          WITH FORMAT;  
      GO  
      

[Anfang des Beispiels]

Beispielkonfigurationsprozedur

In dieser Beispielkonfiguration wird das Verfügbarkeitsreplikat auf zwei eigenständigen Serverinstanzen erstellt, deren Dienstkonten unter unterschiedlichen – aber vertrauenswürdigen – Domänen (DOMAIN1 und DOMAIN2) ausgeführt werden.

In der folgenden Tabelle finden Sie eine Zusammenfassung der in dieser Beispielkonfiguration verwendeten Werte.

Ursprüngliche Rolle System Hosten der SQL Server -Instanz
Primär COMPUTER01 AgHostInstance
Secondary COMPUTER02 Standardinstanz
  1. Erstellen Sie einen Datenbankspiegelungs-Endpunkt namens dbm_endpoint auf der Serverinstanz, auf der Sie die Verfügbarkeitsgruppe erstellen möchten (dies ist eine Instanz namens AgHostInstance auf COMPUTER01). Dieser Endpunkt verwendet Port 7022. Beachten Sie, dass die Serverinstanz, auf der Sie die Verfügbarkeitsgruppe erstellen, das primäre Replikat hostet.

    -- Create endpoint on server instance that hosts the primary replica:  
    CREATE ENDPOINT dbm_endpoint  
        STATE=STARTED   
        AS TCP (LISTENER_PORT=7022)   
        FOR DATABASE_MIRRORING (ROLE=ALL);  
    GO  
    
  2. Erstellen Sie einen Endpunkt dbm_endpoint auf der Serverinstanz, die das sekundäre Replikat hostet (dies ist die Standardserverinstanz auf COMPUTER02). Dieser Endpunkt verwendet Port 5022.

    -- Create endpoint on server instance that hosts the secondary replica:   
    CREATE ENDPOINT dbm_endpoint  
        STATE=STARTED   
        AS TCP (LISTENER_PORT=5022)   
        FOR DATABASE_MIRRORING (ROLE=ALL);  
    GO  
    
  3. Hinweis

    Wenn die Dienstkonten der Serverinstanzen, auf denen die Verfügbarkeitsreplikate gehostet werden sollen, unter dem gleichen Domänenkonto ausgeführt wurden, ist dieser Schritt nicht erforderlich. Überspringen Sie den Schritt, und fahren Sie gleich mit dem nächsten Schritt fort.

    Wenn die Dienstkonten der Serverinstanzen unter unterschiedlichen Domänenbenutzern ausgeführt werden, erstellen Sie auf jeder Serverinstanz eine Anmeldung für die andere Serverinstanz, und gewähren Sie dieser Anmeldung Berechtigungen zum Zugreifen auf den lokalen Datenbankspiegelungs-Endpunkt.

    Im folgenden Codebeispiel sind die Transact-SQL-Anweisungen zum Erstellen einer Anmeldung und zum Gewähren der Berechtigung für einen Endpunkt für die Anmeldung dargestellt. Das Domänenkonto der Remoteserverinstanz wird hier als domain_name\user_namedargestellt.

    -- If necessary, create a login for the service account, domain_name\user_name  
    -- of the server instance that will host the other replica:  
    USE master;  
    GO  
    CREATE LOGIN [domain_name\user_name] FROM WINDOWS;  
    GO  
    -- And Grant this login connect permissions on the endpoint:  
    GRANT CONNECT ON ENDPOINT::dbm_endpoint   
       TO [domain_name\user_name];  
    GO  
    
  4. Erstellen Sie auf der Serverinstanz, auf der sich die Benutzerdatenbanken befinden, die Verfügbarkeitsgruppe.

    Im folgenden Codebeispiel wird eine Verfügbarkeitsgruppe mit dem Namen MyAG auf der Serverinstanz erstellt, auf der die Beispieldatenbanken MyDb1 und MyDb2erstellt wurden. Die lokale Serverinstanz AgHostInstanceauf COMPUTER01 wird zuerst angegeben. Diese Instanz hostet das ursprüngliche primäre Verfügbarkeitsreplikat. Eine Remoteserverinstanz, die Standardserverinstanz auf COMPUTER02, wird angegeben, um ein sekundäres Replikat zu hosten. Beide Verfügbarkeitsreplikate werden konfiguriert, um den Modus mit asynchronem Commit mit manuellem Failover zu verwenden (für Replikate mit asynchronem Commit bedeutet manuelles Failover erzwungenes Failover mit möglichem Datenverlust).

    -- Create the availability group, MyAG:   
    CREATE AVAILABILITY GROUP MyAG   
       FOR   
          DATABASE MyDB1, MyDB2   
       REPLICA ON   
          'COMPUTER01\AgHostInstance' WITH   
             (  
             ENDPOINT_URL = 'TCP://COMPUTER01.Adventure-Works.com:7022',   
             AVAILABILITY_MODE = ASYNCHRONOUS_COMMIT,  
             FAILOVER_MODE = MANUAL  
             ),  
          'COMPUTER02' WITH   
             (  
             ENDPOINT_URL = 'TCP://COMPUTER02.Adventure-Works.com:5022',  
             AVAILABILITY_MODE = ASYNCHRONOUS_COMMIT,  
             FAILOVER_MODE = MANUAL  
             );   
    GO  
    

    Weitere Transact-SQL-Codebeispiele zur Erstellung einer Verfügbarkeitsgruppe finden Sie unter CREATE AVAILABILITY GROUP (Transact-SQL).

  5. Verknüpfen Sie auf der Serverinstanz, die das sekundäre Replikat hostet, das sekundäre Replikat mit der Verfügbarkeitsgruppe.

    Im folgenden Codebeispiel wird das sekundäre Replikat auf COMPUTER02 mit der MyAG -Verfügbarkeitsgruppe verknüpft.

    -- On the server instance that hosts the secondary replica,   
    -- join the secondary replica to the availability group:  
    ALTER AVAILABILITY GROUP MyAG JOIN;  
    GO  
    
  6. Auf der Serverinstanz, die das sekundäre Replikat hostet, erstellen Sie die sekundären Datenbanken.

    Im folgenden Codebeispiel werden die sekundären Datenbanken MyDb1 und MyDb2 erstellt, indem Datenbanksicherungen mit RESTORE WITH NORECOVERY wiederhergestellt werden.

    -- On the server instance that hosts the secondary replica,   
    -- Restore database backups using the WITH NORECOVERY option:  
    RESTORE DATABASE MyDb1   
        FROM DISK = N'\\FILESERVER\SQLbackups\MyDb1.bak'   
        WITH NORECOVERY;  
    GO  
    
    RESTORE DATABASE MyDb2   
        FROM DISK = N'\\FILESERVER\SQLbackups\MyDb2.bak'   
        WITH NORECOVERY;  
    GO 
    
  7. Sichern Sie auf der Serverinstanz, die das primäre Replikat hostet, das Transaktionsprotokoll zu jeder der primären Datenbanken.

    Wichtig

    Wenn Sie eine echte Verfügbarkeitsgruppe konfigurieren, wird empfohlen, dass Sie vor Verwendung dieser Protokollsicherung Protokollsicherungstasks für die primären Datenbanken anhalten, bis Sie die entsprechenden sekundären Datenbanken mit der Verfügbarkeitsgruppe verknüpft haben.

    Im folgenden Codebeispiel wird eine Transaktionsprotokollsicherung in MyDb1 und MyDb2 erstellt.

    -- On the server instance that hosts the primary replica,   
    -- Backup the transaction log on each primary database:  
    BACKUP LOG MyDb1   
    TO DISK = N'\\FILESERVER\SQLbackups\MyDb1.bak'   
        WITH NOFORMAT;  
    GO  
    
    BACKUP LOG MyDb2   
    TO DISK = N'\\FILESERVER\SQLbackups\MyDb2.bak'   
        WITH NOFORMAT;  
    GO
    

    Tipp

    In der Regel muss für jede primäre Datenbank eine Protokollsicherung erstellt und dann in der entsprechenden sekundären Datenbank (mithilfe von WITH NORECOVERY) wiederhergestellt werden. Diese Protokollsicherung ist jedoch möglicherweise nicht erforderlich, wenn die Datenbank erst kürzlich erstellt wurde und bisher keine Protokollsicherung vorgenommen wurde oder wenn das Wiederherstellungsmodell soeben von SIMPLE in FULL geändert wurde.

  8. Wenden Sie auf der Serverinstanz, die das sekundäre Replikat hostet, Protokollsicherungen für die sekundären Datenbanken an.

    Im folgenden Codebeispiel werden Sicherungen auf die sekundären Datenbanken MyDb1 und MyDb2 angewendet, indem Datenbanksicherungen mit RESTORE WITH NORECOVERY wiederhergestellt werden.

    Wichtig

    Wenn Sie eine echte sekundäre Datenbank vorbereiten, müssen Sie jede Protokollsicherung anwenden, die seit der Datenbanksicherung erstellt wurde, aus der Sie die sekundäre Datenbank erstellt haben. Sie müssen dabei immer mit der frühesten Sicherung beginnen und RESTORE WITH NORECOVERY verwenden. Wenn Sie sowohl vollständige als auch differenzielle Datenbanksicherungen wiederherstellen, müssten Sie natürlich nur die nach der differenziellen Sicherung erstellten Protokollsicherungen anwenden.

    -- Restore the transaction log on each secondary database,  
    -- using the WITH NORECOVERY option:  
    RESTORE LOG MyDb1   
        FROM DISK = N'\\FILESERVER\SQLbackups\MyDb1.bak'   
        WITH FILE=1, NORECOVERY;  
    GO  
    RESTORE LOG MyDb2   
        FROM DISK = N'\\FILESERVER\SQLbackups\MyDb2.bak'   
        WITH FILE=1, NORECOVERY;  
    GO  
    
  9. Verknüpfen Sie auf der Serverinstanz, die das sekundäre Replikat hostet, die neue sekundäre Datenbank mit der Verfügbarkeitsgruppe.

    Im folgenden Codebeispiel wird die sekundäre Datenbank MyDb1 und dann die sekundäre Datenbank MyDb2 mit der MyAG -Verfügbarkeitsgruppe verknüpft.

    -- On the server instance that hosts the secondary replica,   
    -- join each secondary database to the availability group:  
    ALTER DATABASE MyDb1 SET HADR AVAILABILITY GROUP = MyAG;  
    GO  
    
    ALTER DATABASE MyDb2 SET HADR AVAILABILITY GROUP = MyAG;  
    GO  
    

Vollständiges Codebeispiel für Beispielkonfigurationsprozedur

Im folgenden Beispiel werden die Codebeispiele aus allen Schritten der Beispielkonfigurationsprozedur zusammengeführt. In der folgenden Tabelle werden die in diesem Codebeispiel verwendeten Platzhalterwerte zusammengefasst. Weitere Informationen zu den Schritten in diesem Codebeispiel finden Sie unter Erforderliche Komponenten für die Verwendung der Beispielkonfigurationsprozedur und Beispielkonfigurationsprozedurweiter oben in diesem Thema.

Platzhalter BESCHREIBUNG
\\FILESERVER\SQLbackups Fiktive Sicherungsfreigabe.
\\FILESERVER\SQLbackups\MyDb1.bak Sicherungsdatei für MyDb1.
\\FILESERVER\SQLbackups\MyDb2.bak Sicherungsdatei für MyDb2.
7022 Jedem Datenbankspiegelungs-Endpunkt zugewiesene Portnummer.
COMPUTER01\AgHostInstance Serverinstanz, die das ursprüngliche primäre Replikat hostet.
COMPUTER02 Serverinstanz, die das ursprüngliche sekundäre Replikat hostet. Dies ist die Standardserverinstanz auf COMPUTER02.
dbm_endpoint Für jeden Datenbankspiegelungs-Endpunkt angegebener Name.
MyAG Der Name der Beispielsverfügbarkeitsgruppe.
MyDb1 Der Name der ersten Beispieldatenbank.
MyDb2 Der Name der zweiten Beispieldatenbank.
DOMAIN1\user1 Dienstkonto der Serverinstanz, auf der das ursprüngliche primäre Replikat gehostet werden soll.
DOMAIN2\user2 Dienstkonto der Serverinstanz, auf der das ursprüngliche primäre sekundäre Replikat gehostet werden soll.
TCP://COMPUTER01.Adventure-Works.com:7022 Endpunkt-URL der AgHostInstance-Instanz von SQL Server auf COMPUTER01.
TCP://COMPUTER02.Adventure-Works.com:5022 Endpunkt-URL der Standardinstanz von SQL Server auf COMPUTER02.

Hinweis

Weitere Transact-SQL-Codebeispiele zur Erstellung einer Verfügbarkeitsgruppe finden Sie unter CREATE AVAILABILITY GROUP (Transact-SQL).

-- on the server instance that will host the primary replica,   
-- create sample databases:  
CREATE DATABASE MyDb1;  
GO  
ALTER DATABASE MyDb1 SET RECOVERY FULL;  
GO  
  
CREATE DATABASE MyDb2;  
GO  
ALTER DATABASE MyDb2 SET RECOVERY FULL;  
GO  
  
-- Backup sample databases:  
BACKUP DATABASE MyDb1   
TO DISK = N'\\FILESERVER\SQLbackups\MyDb1.bak'   
    WITH FORMAT;  
GO  
  
BACKUP DATABASE MyDb2   
TO DISK = N'\\FILESERVER\SQLbackups\MyDb2.bak'   
    WITH FORMAT;  
GO  
  
-- Create the endpoint on the server instance that will host the primary replica:  
CREATE ENDPOINT dbm_endpoint  
    STATE=STARTED   
    AS TCP (LISTENER_PORT=7022)   
    FOR DATABASE_MIRRORING (ROLE=ALL);  
GO  
  
-- Create the endpoint on the server instance that will host the secondary replica:   
CREATE ENDPOINT dbm_endpoint  
    STATE=STARTED   
    AS TCP (LISTENER_PORT=7022)   
    FOR DATABASE_MIRRORING (ROLE=ALL);  
GO  
  
-- If both service accounts run under the same domain account, skip this step. Otherwise,   
-- On the server instance that will host the primary replica,   
-- create a login for the service account   
-- of the server instance that will host the secondary replica, DOMAIN2\user2,   
-- and grant this login connect permissions on the endpoint:  
USE master;  
GO  
CREATE LOGIN [DOMAIN2\user2] FROM WINDOWS;  
GO  
GRANT CONNECT ON ENDPOINT::dbm_endpoint   
   TO [DOMAIN2\user2];  
GO  
  
-- If both service accounts run under the same domain account, skip this step. Otherwise,   
-- On the server instance that will host the secondary replica,  
-- create a login for the service account   
-- of the server instance that will host the primary replica, DOMAIN1\user1,   
-- and grant this login connect permissions on the endpoint:  
USE master;  
GO  
  
CREATE LOGIN [DOMAIN1\user1] FROM WINDOWS;  
GO  
GRANT CONNECT ON ENDPOINT::dbm_endpoint   
   TO [DOMAIN1\user1];  
GO  
  
-- On the server instance that will host the primary replica,   
-- create the availability group, MyAG:  
CREATE AVAILABILITY GROUP MyAG   
   FOR   
      DATABASE MyDB1, MyDB2   
   REPLICA ON   
      'COMPUTER01\AgHostInstance' WITH   
         (  
         ENDPOINT_URL = 'TCP://COMPUTER01.Adventure-Works.com:7022',  
         AVAILABILITY_MODE = SYNCHRONOUS_COMMIT,  
         FAILOVER_MODE = AUTOMATIC  
         ),  
      'COMPUTER02' WITH   
         (  
         ENDPOINT_URL = 'TCP://COMPUTER02.Adventure-Works.com:7022',  
         AVAILABILITY_MODE = SYNCHRONOUS_COMMIT,  
         FAILOVER_MODE = AUTOMATIC  
         );   
GO  
  
-- On the server instance that hosts the secondary replica,   
-- join the secondary replica to the availability group:  
ALTER AVAILABILITY GROUP MyAG JOIN;  
GO  
  
-- Restore database backups onto this server instance, using RESTORE WITH NORECOVERY:  
RESTORE DATABASE MyDb1   
    FROM DISK = N'\\FILESERVER\SQLbackups\MyDb1.bak'   
    WITH NORECOVERY;  
GO  
  
RESTORE DATABASE MyDb2   
    FROM DISK = N'\\FILESERVER\SQLbackups\MyDb2.bak'   
    WITH NORECOVERY;  
GO  
  
-- Back up the transaction log on each primary database:  
BACKUP LOG MyDb1   
TO DISK = N'\\FILESERVER\SQLbackups\MyDb1.bak'   
    WITH NOFORMAT;  
GO  
  
BACKUP LOG MyDb2   
TO DISK = N'\\FILESERVER\SQLbackups\MyDb2.bak'   
    WITH NOFORMAT  
GO  
  
-- Restore the transaction log on each secondary database,  
-- using the WITH NORECOVERY option:  
RESTORE LOG MyDb1   
    FROM DISK = N'\\FILESERVER\SQLbackups\MyDb1.bak'   
    WITH FILE=1, NORECOVERY;  
GO  
RESTORE LOG MyDb2   
    FROM DISK = N'\\FILESERVER\SQLbackups\MyDb2.bak'   
    WITH FILE=1, NORECOVERY;  
GO  
  
-- On the server instance that hosts the secondary replica,   
-- join each secondary database to the availability group:  
ALTER DATABASE MyDb1 SET HADR AVAILABILITY GROUP = MyAG;  
GO  
  
ALTER DATABASE MyDb2 SET HADR AVAILABILITY GROUP = MyAG;  
GO  

Related Tasks

So konfigurieren Sie Verfügbarkeitsgruppen- und Replikateigenschaften

So schließen Sie die Konfiguration von Verfügbarkeitsgruppen ab

Alternative Möglichkeiten zum Erstellen einer Verfügbarkeitsgruppe

So aktivieren Sie Always On-Verfügbarkeitsgruppen

So konfigurieren Sie einen Datenbankspiegelungs-Endpunkt

Problembehandlung für die Always On-Verfügbarkeitsgruppenkonfiguration

Verwandte Inhalte

Weitere Informationen

Der Datenbankspiegelungs-Endpunkt (SQL Server)
Übersicht über Always On-Verfügbarkeitsgruppen (SQL Server)
Verfügbarkeitsgruppenlistener, Clientkonnektivität und Anwendungsfailover (SQL Server)
Voraussetzungen, Einschränkungen und Empfehlungen für Always On-Verfügbarkeitsgruppen (SQL Server)