Hinzufügen einer Datenbank zu einer Always On-Verfügbarkeitsgruppe

Gilt für: SQL Server

In diesem Thema wird beschrieben, wie Sie einer Always On-Verfügbarkeitsgruppe mithilfe von SQL Server Management Studio, Transact-SQL oder PowerShell in SQL Server eine Datenbank hinzufügen.

Voraussetzungen und Einschränkungen

Berechtigungen

Erfordert die ALTER AVAILABILITY GROUP-Berechtigung für die Verfügbarkeitsgruppe, die CONTROL AVAILABILITY GROUP-Berechtigung, die ALTER ANY AVAILABILITY GROUP-Berechtigung oder die CONTROL SERVER-Berechtigung.

Verwenden Sie SQL Server Management Studio

  1. Stellen Sie im Objekt-Explorer eine Verbindung mit der Serverinstanz her, die das primäre Verfügbarkeitsreplikat hostet, und erweitern Sie die Serverstruktur.

  2. Erweitern Sie den Knoten Hohe Verfügbarkeit (immer aktiviert) und den Knoten Verfügbarkeitsgruppen .

  3. Klicken Sie mit der rechten Maustaste auf die Verfügbarkeitsgruppe, und wählen Sie einen der folgenden Befehle aus:

    • Wählen Sie zum Starten des Assistenten zum Hinzufügen von Datenbanken zu Verfügbarkeitsgruppen den Befehl Datenbank hinzufügen aus. Weitere Informationen finden Sie unter Verwenden des Assistenten zum Hinzufügen von Datenbanken zu Verfügbarkeitsgruppen (SQL Server Management Studio).

    • Wählen Sie den Befehl Eigenschaften aus, um mindestens eine Datenbank durch Angabe im Dialogfeld für die Eigenschaften der Verfügbarkeitsgruppe hinzuzufügen. Folgende Schritte sind zum Hinzufügen einer Datenbank erforderlich:

      1. Klicken Sie im Bereich Verfügbarkeitsdatenbanken auf die Schaltfläche Hinzufügen . Dadurch wird ein leeres Datenbankfeld erstellt und ausgewählt.

      2. Geben Sie den Namen einer Datenbank ein, die die Voraussetzungen der Verfügbarkeitsdatenbanken erfüllt.

      Wiederholen Sie zum Hinzufügen einer weiteren Datenbank die vorhergehenden Schritte. Wenn Sie alle Datenbanken angegeben haben, klicken Sie auf OK , um den Vorgang abzuschließen.

      Nachdem Sie das Kontrollkästchen Eigenschaften der Verfügbarkeitsgruppe aktiviert haben, um einer Verfügbarkeitsgruppe eine Datenbank hinzuzufügen, müssen Sie die zugehörige zweite Datenbank auf jeder Serverinstanz konfigurieren, auf der das sekundäre Replikat gehostet wird. Weitere Informationen finden Sie unter Starten der Datenverschiebung auf einer sekundären Always On-Datenbank (SQL Server).

Verwenden von Transact-SQL

  1. Stellen Sie eine Verbindung mit der Serverinstanz her, die die Serverinstanz mit dem primären Replikat hostet.

  2. Verwenden Sie die ALTER AVAILABILITY GROUP -Anweisung wie folgt:

    ALTER AVAILABILITY GROUP group_name ADD DATABASE database_name [,...n]

    Dabei ist group_name der Name der Verfügbarkeitsgruppe und database_name der Name einer zur Gruppe hinzuzufügenden Datenbank.

    Im folgenden Beispiel wird die Datenbank MyDb3 zur Verfügbarkeitsgruppe MyAG hinzugefügt.

    -- Connect to the server instance that hosts the primary replica.  
    -- Add an existing database to the availability group.  
    ALTER AVAILABILITY GROUP MyAG ADD DATABASE MyDb3;  
    GO  
    
  3. Nachdem Sie einer Verfügbarkeitsgruppe eine Datenbank hinzugefügt haben, müssen Sie die zugehörige zweite Datenbank auf jeder Serverinstanz konfigurieren, auf der das sekundäre Replikat gehostet wird. Weitere Informationen finden Sie unter Starten der Datenverschiebung auf einer sekundären Always On-Datenbank (SQL Server).

Verwenden von PowerShell

  1. Wechseln Sie mitcdin das Verzeichnis der Serverinstanz, die das primäre Replikat hostet.

  2. Verwenden Sie das Add-SqlAvailabilityDatabase -Cmdlet.

    Beispielsweise wird mit dem folgenden Befehl die sekundäre Datenbank MyDd der MyAG -Verfügbarkeitsgruppe hinzugefügt, deren primäres Replikat von PrimaryServer\InstanceNamegehostet wird.

    
    Add-SqlAvailabilityDatabase `   
    -Path SQLSERVER:\SQL\PrimaryServer\InstanceName\AvailabilityGroups\MyAG `   
    -Database "MyDb"  
    

    Hinweis

    Um die Syntax eines Cmdlets anzuzeigen, verwenden Sie das Get-Help -Cmdlet in der SQL Server PowerShell-Umgebung. Weitere Informationen finden Sie unter Get Help SQL Server PowerShell.

  3. Nachdem Sie einer Verfügbarkeitsgruppe eine Datenbank hinzugefügt haben, müssen Sie die zugehörige zweite Datenbank auf jeder Serverinstanz konfigurieren, auf der das sekundäre Replikat gehostet wird. Weitere Informationen finden Sie unter Starten der Datenverschiebung auf einer sekundären Always On-Datenbank (SQL Server).

Einrichten und Verwenden des SQL Server PowerShell-Anbieters

Ein vollständiges Beispiel finden Sie unten unter Beispiel (PowerShell).

Beispiel (PowerShell)

Im folgenden Beispiel wird der vollständige Vorbereitungsprozess veranschaulicht: Eine sekundäre Datenbank wird von einer Datenbank auf der Serverinstanz, von der das primäre Replikat einer Verfügbarkeitsgruppe gehostet wird, vorbereitet. Anschließend wird die Datenbank einer Verfügbarkeitsgruppe (als primäre Datenbank) hinzugefügt, und dann wird die sekundäre Datenbank mit der Verfügbarkeitsgruppe verknüpft. Zunächst werden die Datenbank und das zugehörige Transaktionsprotokoll gesichert. Anschließend werden die Datenbank- und Protokollsicherungen in den Serverinstanzen wiederhergestellt, von denen ein sekundäres Replikat gehostet wird.

Add-SqlAvailabilityDatabase wird im Beispiel zweimal aufgerufen: zuerst für das primäre Replikat, um die Datenbank der Verfügbarkeitsgruppe hinzuzufügen, und anschließend für das sekundäre Replikat, um die sekundäre Datenbank auf diesem Replikat mit der Verfügbarkeitsgruppe zu verknüpfen. Wenn Sie über mehr als ein sekundäres Replikat verfügen, muss die sekundäre Datenbank auf jedem einzelnen Replikat wiederhergestellt und verknüpft werden.

$DatabaseBackupFile = "\\share\backups\MyDatabase.bak"  
$LogBackupFile = "\\share\backups\MyDatabase.trn"  
$MyAgPrimaryPath = "SQLSERVER:\SQL\PrimaryServer\InstanceName\AvailabilityGroups\MyAg"  
$MyAgSecondaryPath = "SQLSERVER:\SQL\SecondaryServer\InstanceName\AvailabilityGroups\MyAg"  
  
Backup-SqlDatabase -Database "MyDatabase" -BackupFile $DatabaseBackupFile -ServerInstance "PrimaryServer\InstanceName"  
Backup-SqlDatabase -Database "MyDatabase" -BackupFile $LogBackupFile -ServerInstance "PrimaryServer\InstanceName" -BackupAction 'Log'  
  
Restore-SqlDatabase -Database "MyDatabase" -BackupFile $DatabaseBackupFile -ServerInstance "SecondaryServer\InstanceName" -NoRecovery  
Restore-SqlDatabase -Database "MyDatabase" -BackupFile $LogBackupFile -ServerInstance "SecondaryServer\InstanceName" -RestoreAction 'Log' -NoRecovery  
  
Add-SqlAvailabilityDatabase -Path $MyAgPrimaryPath -Database "MyDatabase"  
Add-SqlAvailabilityDatabase -Path $MyAgSecondaryPath -Database "MyDatabase"  
  

Weitere Informationen

Übersicht über Always On-Verfügbarkeitsgruppen (SQL Server)
Erstellung und Konfiguration von Verfügbarkeitsgruppen (SQL Server)
Verwenden des Always On-Dashboards (SQL Server Management Studio)
Überwachen von Verfügbarkeitsgruppen (Transact-SQL)