Freigeben über


Erstellen einer Verfügbarkeitsgruppe (Transact-SQL)

In diesem Thema wird beschrieben, wie Transact-SQL zum Erstellen und Konfigurieren einer Verfügbarkeitsgruppe für Instanzen von SQL Server 2012 mit aktivierter AlwaysOn-Verfügbarkeitsgruppen-Funktion 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ügbarkeitsreplikate bezeichnet werden, die Failover unterstützen.

HinweisHinweis

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

  • Vorbereitungen:  

    Erforderliche Komponenten

    Sicherheit

    Zusammenfassung von Tasks und entsprechenden Transact-SQL-Anweisungen

  • Erstellen und Konfigurieren einer Verfügbarkeitsgruppe mit:  Transact-SQL

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

  • Verwandte Aufgaben

  • Verwandte Inhalte

HinweisHinweis

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 neue Verfügbarkeitsgruppen (SQL Server Management Studio), Verwenden des Dialogfelds Neue Verfügbarkeitsgruppe (SQL Server Management Studio) oder Erstellen einer Verfügbarkeitsgruppe (SQL Server PowerShell).

Vorbereitungen

Es wird dringend empfohlen, dass Sie diesen Abschnitt lesen, bevor Sie versuchen, Ihre erste Verfügbarkeitsgruppe zu erstellen.

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 AlwaysOn-Verfügbarkeitsgruppen-Voraussetzungen erfüllen. Es empfiehlt sich, Voraussetzungen, Einschränkungen und Empfehlungen für AlwaysOn-Verfügbarkeitsgruppen (SQL Server) zu lesen, um weitere Informationen zu erhalten.

Sicherheit

Berechtigungen

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

Pfeilsymbol, dass mit dem Link "Zurück zum Anfang" verwendet wird[Nach oben]

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 AlwaysOn-Verfügbarkeitsgruppen-Tasks müssen in der Reihenfolge ausgeführt werden, in der sie in der Tabelle dargestellt sind.

Task

Transact-SQL-Anweisung(en)

Wo der Task 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 group_name 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 database_name SET HADR AVAILABILITY GROUP = group_name

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.

Pfeilsymbol, dass mit dem Link "Zurück zum Anfang" verwendet wird[Nach oben]

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

HinweisHinweis

Eine Vorgehensweise für eine Beispielkonfiguration mit Codebeispielen für jede dieser Transact-SQL-Anweisungen finden Sie in 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 CREATE AVAILABILITY GROUP Transact-SQL-Anweisung.

  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 Erstellen einer Verfügbarkeitsgruppe (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).

Pfeilsymbol, dass mit dem Link "Zurück zum Anfang" verwendet wird[Nach oben]

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

In diesem Beispiel wird eine Beispiel-AlwaysOn-Verfügbarkeitsgruppen-Konfigurationsprozedur erstellt, die Transact-SQL zum Einrichten von Datenbankspiegelungs-Endpunkten, die die Windows-Authentifizierung verwenden, sowie zum Erstellen und Konfigurieren einer Verfügbarkeitsgruppe und deren sekundärer Datenbanken verwendet.

Dieses Beispiel enthält folgende Abschnitte:

  • Erforderliche Komponenten für die Verwendung der Beispielkonfigurationsprozedur

  • Beispielkonfigurationsprozedur

  • Vollständiges Codebeispiel für Beispielkonfigurationsprozedur

Erforderliche Komponenten für die Verwendung der Beispielkonfigurationsprozedur

Diese Beispielprozedur weist die folgenden Anforderungen auf:

  • Die Serverinstanzen müssen AlwaysOn-Verfügbarkeitsgruppen unterstützen. Weitere Informationen finden Sie unter Voraussetzungen, Einschränkungen und Empfehlungen für AlwaysOn-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 MyDb2 erstellt. In diesem Codebeispiel wird die fiktive Sicherungsfreigabe "\\FILESERVER\SQLbackups" verwendet.

      -- 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

Sekundär

COMPUTER02

Standardinstanz

  1. Erstellen Sie einen Datenbankspiegelungs-Endpunkt mit dem Namen dbm_endpoint auf der Serverinstanz, auf der Sie die Verfügbarkeitsgruppe erstellen möchten (dies ist eine Instanz mit dem Namen 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. HinweisHinweis

    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_name dargestellt.

      -- 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 MyDb2 erstellt wurden. Die lokale Serverinstanz, AgHostInstance, auf 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.

    Wichtiger HinweisWichtig

    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' 
        WITHNOFORMAT
    GO
    
    TippTipp

    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.

    Wichtiger HinweisWichtig

    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
    

[Anfang des Beispiels]

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 Beispielkonfigurationsprozedur weiter 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.

HinweisHinweis

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' 
    WITHNOFORMAT
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

Pfeilsymbol, dass mit dem Link "Zurück zum Anfang" verwendet wird[Anfang des Beispiels]

Verwandte Aufgaben

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 AlwaysOn-Verfügbarkeitsgruppen

So konfigurieren Sie einen Datenbankspiegelungs-Endpunkt

Problembehandlung für die AlwaysOn-Verfügbarkeitsgruppenkonfiguration

Pfeilsymbol, dass mit dem Link "Zurück zum Anfang" verwendet wird[Nach oben]

Verwandte Inhalte

Pfeilsymbol, dass mit dem Link "Zurück zum Anfang" verwendet wird[Nach oben]

Siehe auch

Konzepte

Der Datenbankspiegelungs-Endpunkt (SQL Server)

Übersicht über AlwaysOn-Verfügbarkeitsgruppen (SQL Server)

Verfügbarkeitsgruppenlistener, Clientkonnektivität und Anwendungsfailover (SQL Server)

Voraussetzungen, Einschränkungen und Empfehlungen für AlwaysOn-Verfügbarkeitsgruppen (SQL Server)