Hinzufügen einer Datenbank zu einer Verfügbarkeitsgruppe (SQL Server)

In diesem Thema wird beschrieben, wie einer AlwaysOn-Verfügbarkeitsgruppe mit SQL Server Management Studio, Transact-SQL oder PowerShell in SQL Server 2012 eine Datenbank hinzugefügt wird.

  • Vorbereitungen:  

    Voraussetzungen und Einschränkungen

    Berechtigungen

  • Hinzufügen einer Datenbank zu einer Verfügbarkeitsgruppe mit:  

    SQL Server Management Studio

    Transact-SQL

    PowerShell

Vorbereitungen

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.

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

Verwenden von SQL Server Management Studio

So fügen sie einer Verfügbarkeitsgruppe eine Datenbank hinzu

  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 AlwaysOn-Datenbank (SQL Server).

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

Verwenden von Transact-SQL

So fügen sie einer Verfügbarkeitsgruppe eine Datenbank hinzu

  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 AlwaysOn-Datenbank (SQL Server).

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

Verwenden von PowerShell

So fügen sie einer Verfügbarkeitsgruppe eine Datenbank hinzu

  1. Ändern Sie das Verzeichnis (cd) zur 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\InstanceName gehostet wird.

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

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

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

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

Siehe auch

Konzepte

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

Erstellung und Konfiguration von Verfügbarkeitsgruppen (SQL Server)

Verwenden des AlwaysOn-Dashboards (SQL Server Management Studio)

Überwachen von Verfügbarkeitsgruppen (Transact-SQL)