Entfernen einer primären Datenbank aus einer Verfügbarkeitsgruppe (SQL Server)Remove a Primary Database from an Availability Group (SQL Server)

Dieses Thema gilt für: JaSQL ServerkeineAzure SQL-DatenbankkeineAzure SQL Data Warehouse keine Parallel DatawarehouseTHIS TOPIC APPLIES TO: yesSQL ServernoAzure SQL DatabasenoAzure SQL Data Warehouse noParallel Data Warehouse In diesem Thema wird erläutert, wie sowohl die primäre Datenbank als auch die entsprechenden sekundären Datenbanken aus einer AlwaysOn-Verfügbarkeitsgruppe mit SQL Server Management StudioSQL Server Management Studio, Transact-SQLTransact-SQL oder PowerShell in SQL Server 2017SQL Server 2017 entfernt werden. This topic describes how to remove both the primary database and the corresponding secondary database(s) from an Always On availability group by using SQL Server Management StudioSQL Server Management Studio, Transact-SQLTransact-SQL, or PowerShell in SQL Server 2017SQL Server 2017.

VorbereitungenBefore You Begin

Voraussetzungen und EinschränkungenPrerequisites and Restrictions

  • Dieser Task wird nur für primäre Replikate unterstützt.This task is supported only on primary replicas. Sie müssen mit der Serverinstanz verbunden sein, die das primäre Replikat hostet.You must be connected to the server instance that hosts the primary replica.

SicherheitSecurity

BerechtigungenPermissions

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.Requires ALTER AVAILABILITY GROUP permission on the availability group, CONTROL AVAILABILITY GROUP permission, ALTER ANY AVAILABILITY GROUP permission, or CONTROL SERVER permission.

Verwendung von SQL Server Management StudioUsing SQL Server Management Studio

So entfernen Sie eine VerfügbarkeitsdatenbankTo remove an availability database

  1. Stellen Sie im Objekt-Explorer eine Verbindung mit der Serverinstanz her, die das primäre Replikat der zu entfernenden Datenbanken hostet, und erweitern Sie die Serverstruktur.In Object Explorer, connect to the server instance that hosts the primary replica of the database or databases to be removed, and expand the server tree.

  2. Erweitern Sie die Knoten Hohe Verfügbarkeit mit AlwaysOn und Verfügbarkeitsgruppen .Expand the Always On High Availability node and the Availability Groups node.

  3. Wählen Sie die Verfügbarkeitsgruppe aus, und erweitern Sie den Knoten Verfügbarkeitsdatenbanken .Select the availability group, and expand the Availability Databases node.

  4. Dieser Schritt hängt davon ab, ob Sie mehrere Datenbankgruppen oder nur eine Datenbank entfernen möchten:This step depends on whether you want to remove multiple databases groups or only one database, as follows:

  5. Klicken Sie mit der rechten Maustaste auf die ausgewählten Datenbanken, und wählen Sie im Kontextmenü den Befehl Datenbank aus Verfügbarkeitsgruppe entfernen aus.Right-click the selected database or databases, and select Remove Database from Availability Group in the command menu.

  6. Klicken Sie zum Entfernen aller aufgelisteten Datenbanken im Dialogfeld Datenbanken aus Verfügbarkeitsgruppe entfernen auf OK.In the Remove Databases from Availability Group dialog box, to remove all the listed databases, click OK. Wenn Sie nicht alle Datenbanken entfernen wollen, klicken Sie auf Abbrechen.If you do not want to remove all them, click Cancel.

Verwenden von Transact-SQLUsing Transact-SQL

So entfernen Sie eine VerfügbarkeitsdatenbankTo remove an availability database

  1. Stellen Sie eine Verbindung mit der Serverinstanz her, die das primäre Replikat hostet.Connect to the server instance that hosts the primary replica.

  2. Verwenden Sie die ALTER AVAILABILITY GROUP -Anweisung wie folgt:Use the ALTER AVAILABILITY GROUP statement, as follows:

    ALTER AVAILABILITY GROUP Gruppenname REMOVE DATABASE VerfügbarkeitsdatenbanknameALTER AVAILABILITY GROUP group_name REMOVE DATABASE availability_database_name

    Dabei ist Gruppenname der Name der Verfügbarkeitsgruppe und Verfügbarkeitsdatenbankname der Name der zu entfernenden Datenbank.where group_name is the name of the availability group and database_name is the name of the database to be removed.

    Im folgenden Beispiel wird eine Datenbank namens Db6 aus der MyAG -Verfügbarkeitsgruppe entfernt.The following example removes a databases named Db6 from the MyAG availability group.

    ALTER AVAILABILITY GROUP MyAG REMOVE DATABASE Db6;  
    

PowerShellUsing PowerShell

So entfernen Sie eine VerfügbarkeitsdatenbankTo remove an availability database

  1. Wechseln Sie mitcdin das Verzeichnis der Serverinstanz, die das primäre Replikat hostet.Change directory (cd) to the server instance that hosts the primary replica.

  2. Verwenden Sie das Remove-SqlAvailabilityDatabase -Cmdlet, und geben Sie dabei den Namen der Verfügbarkeitsdatenbank an, die aus der Verfügbarkeitsgruppe entfernt werden soll.Use the Remove-SqlAvailabilityDatabase cmdlet, specifying the name of the availability database to be removed from the availability group. Wenn Sie mit der Serverinstanz verbunden sind, die das primäre Replikat hostet, werden die primäre Datenbank und ihre entsprechenden sekundären Datenbanken aus der Verfügbarkeitsgruppe entfernt.When you are connected to the server instance that hosts the primary replica, the primary database and its corresponding secondary databases are all removed from the availability group.

    Beispielsweise wird durch den folgenden Befehl das Verfügbarkeitsdatenbank MyDb9 von der Verfügbarkeitsgruppe namens MyAgentfernt.For example, the following command removes the availability database MyDb9 from the availability group named MyAg. Da der Befehl auf der Serverinstanz ausgeführt wird, von der das primäre Replikat gehostet wird, werden die primäre Datenbank und alle entsprechenden sekundären Datenbanken aus der Verfügbarkeitsgruppe entfernt.Because the command is executed on the server instance that hosts the primary replica, the primary database and all its corresponding secondary databases are removed from the availability group. Für diese Datenbank wird auf allen sekundären Replikaten keine Datensynchronisierung mehr ausgeführt.Data synchronization will no longer occur for this database on any secondary replica.

    Remove-SqlAvailabilityDatabase `   
    -Path SQLSERVER:\Sql\PrimaryComputer\InstanceName\AvailabilityGroups\MyAg\AvailabilityDatabases\MyDb9
    

    Hinweis

    Um die Syntax eines Cmdlets anzuzeigen, verwenden Sie das Get-Help -Cmdlet in der SQL Server 2017SQL Server 2017 -PowerShell-Umgebung.To view the syntax of a cmdlet, use the Get-Help cmdlet in the SQL Server 2017SQL Server 2017 PowerShell environment. Weitere Informationen finden Sie unter Get Help SQL Server PowerShell.For more information, see Get Help SQL Server PowerShell.

    Einrichten und Verwenden des SQL Server PowerShell-AnbietersTo set up and use the SQL Server PowerShell provider

Nachverfolgung: Nach dem Entfernen einer Verfügbarkeitsdatenbank aus einer VerfügbarkeitsgruppeFollow Up: After Removing an Availability Database from an Availability Group

Durch das Entfernen einer Verfügbarkeitsdatenbank aus ihrer Verfügbarkeitsgruppe wird die Datensynchronisierung zwischen der früheren primären Datenbank und den entsprechenden sekundären Datenbanken beendet.Removing an availability database from its availability group ends data synchronization between the former primary database and the corresponding secondary databases. Die frühere primäre Datenbank bleibt online.The former primary database remains online. Alle entsprechenden sekundären Datenbanken wechseln in den Status RESTORING.Every corresponding secondary database is placed in the RESTORING state.

Zu diesem Zeitpunkt stehen alternative Methoden zum Umgang mit einer entfernten sekundären Datenbank zur Verfügung:At this point there are alternative ways of dealing with a removed secondary database:

  • Wenn eine bestimmte sekundäre Datenbank nicht mehr benötigt wird, können Sie sie löschen.If you no longer need a given secondary database, you can drop it.

    Weitere Informationen finden Sie unter Löschen einer Datenbank.For more information, see Delete a Database.

  • Wenn Sie auf eine entfernte sekundäre Datenbank zugreifen möchten, nachdem sie aus der Verfügbarkeitsgruppe entfernt wurde, können Sie die Datenbank wiederherstellen.If you want to access a removed secondary database after it has been removed from the availability group, you can recover the database. Wenn Sie jedoch eine entfernte sekundäre Datenbank wiederherstellen, sind zwei voneinander abweichende, unabhängige Datenbanken mit demselben Namen online.However, if you recover a removed secondary database, two divergent, independent databases that have the same name are online. Sie müssen sicherstellen, dass Clients nur auf eine von beiden zugreifen können (in der Regel die aktuelle primäre Datenbank).You must make sure that clients can access only one of them, typically the most recent primary database.

    Weitere Informationen finden Sie unter Wiederherstellen einer Datenbank ohne Wiederherstellung von Daten (Transact-SQL).For more information, see Recover a Database Without Restoring Data (Transact-SQL).

Siehe auchSee Also

Übersicht über AlwaysOn-Verfügbarkeitsgruppen (SQL Server) Overview of Always On Availability Groups (SQL Server)
Entfernen einer sekundären Datenbank aus einer Verfügbarkeitsgruppe (SQL Server)Remove a Secondary Database from an Availability Group (SQL Server)