Always On 可用性グループからプライマリ データベースを削除するRemove a primary database from an Always On availability group

適用対象: yesSQL Server noAzure SQL Database noAzure Synapse Analytics (SQL DW) noParallel Data Warehouse APPLIES TO: yesSQL Server noAzure SQL Database noAzure Synapse Analytics (SQL DW) noParallel Data Warehouse

このトピックでは、 SQL Server Management StudioSQL Server Management StudioTransact-SQLTransact-SQLSQL Server 2019 (15.x)SQL Server 2019 (15.x)、または PowerShell を使用して、AlwaysOn 可用性グループからプライマリ データベースおよび対応するセカンダリ データベースの両方を削除する方法について説明します。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 2019 (15.x)SQL Server 2019 (15.x).

前提条件と制限Prerequisites and Restrictions

  • このタスクは、プライマリ レプリカ上でのみサポートされます。This task is supported only on primary replicas. プライマリ レプリカをホストするサーバー インスタンスに接続されている必要があります。You must be connected to the server instance that hosts the primary replica.

PermissionsPermissions

可用性グループの ALTER AVAILABILITY GROUP 権限、CONTROL AVAILABILITY GROUP 権限、ALTER ANY AVAILABILITY GROUP 権限、または CONTROL SERVER 権限が必要です。Requires ALTER AVAILABILITY GROUP permission on the availability group, CONTROL AVAILABILITY GROUP permission, ALTER ANY AVAILABILITY GROUP permission, or CONTROL SERVER permission.

SQL Server Management Studio の使用Using SQL Server Management Studio

可用性データベースを削除するにはTo remove an availability database

  1. オブジェクト エクスプローラーで、削除するデータベースのプライマリ レプリカをホストするサーバー インスタンスに接続し、サーバー ツリーを展開します。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. [AlwaysOn 高可用性] ノードと [可用性グループ] ノードを展開します。Expand the Always On High Availability node and the Availability Groups node.

  3. 可用性グループを選択し、 [可用性データベース] ノードを展開します。Select the availability group, and expand the Availability Databases node.

  4. 削除するデータベースが複数であるか 1 つのみであるかによって、次のように実行する手順が異なります。This step depends on whether you want to remove multiple databases groups or only one database, as follows:

  5. 選択したデータベースを右クリックし、コマンド メニューの [可用性グループからデータベースを削除] を選択します。Right-click the selected database or databases, and select Remove Database from Availability Group in the command menu.

  6. [可用性グループからデータベースを削除] ダイアログ ボックスで、表示されたすべてのデータベースを削除するには、 [OK] をクリックします。In the Remove Databases from Availability Group dialog box, to remove all the listed databases, click OK. すべて削除しない場合は、 [キャンセル] をクリックします。If you do not want to remove all them, click Cancel.

Transact-SQL の使用Using Transact-SQL

可用性データベースを削除するにはTo remove an availability database

  1. プライマリ レプリカをホストするサーバー インスタンスに接続します。Connect to the server instance that hosts the primary replica.

  2. ALTER AVAILABILITY GROUP ステートメントを使用します。次にその例を示します。Use the ALTER AVAILABILITY GROUP statement, as follows:

    ALTER AVAILABILITY GROUP group_name REMOVE DATABASE availability_database_nameALTER AVAILABILITY GROUP group_name REMOVE DATABASE availability_database_name

    ここで、 group_name は可用性グループの名前、 database_name は削除するデータベースの名前です。where group_name is the name of the availability group and database_name is the name of the database to be removed.

    次の例では、 Db6 というデータベースを MyAG 可用性グループから削除します。The following example removes a databases named Db6 from the MyAG availability group.

    ALTER AVAILABILITY GROUP MyAG REMOVE DATABASE Db6;  
    

PowerShell の使用Using PowerShell

可用性データベースを削除するにはTo remove an availability database

  1. プライマリ レプリカをホストするサーバー インスタンスにディレクトリを変更 (cd) します 。Change directory (cd) to the server instance that hosts the primary replica.

  2. 可用性グループから削除する可用性データベース名を指定して、 Remove-SqlAvailabilityDatabase コマンドレットを使用します。Use the Remove-SqlAvailabilityDatabase cmdlet, specifying the name of the availability database to be removed from the availability group. プライマリ レプリカをホストするサーバー インスタンスに接続している場合は、プライマリ データベースおよび対応するセカンダリ データベースがすべて可用性グループから削除されます。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.

    たとえば、次のコマンドは、可用性データベース MyDb9MyAgという名前の可用性グループから削除します。For example, the following command removes the availability database MyDb9 from the availability group named MyAg. このコマンドはプライマリ レプリカをホストするサーバー インスタンスで実行されるため、プライマリ データベースおよび対応するすべてのセカンダリ データベースが可用性グループから削除されます。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. どのセカンダリ レプリカでも、このデータベースに対してデータ同期は行われなくなります。Data synchronization will no longer occur for this database on any secondary replica.

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

    注意

    コマンドレットの構文を表示するには、 PowerShell 環境で Get-Help SQL Server 2019 (15.x)SQL Server 2019 (15.x) コマンドレットを使用します。To view the syntax of a cmdlet, use the Get-Help cmdlet in the SQL Server 2019 (15.x)SQL Server 2019 (15.x) PowerShell environment. 詳細については、「 Get Help SQL Server PowerShell」を参照してください。For more information, see Get Help SQL Server PowerShell.

SQL Server PowerShell プロバイダーを設定して使用するにはTo set up and use the SQL Server PowerShell provider

補足情報: 可用性グループから可用性データベースを削除した後Follow Up: After Removing an Availability Database from an Availability Group

可用性グループから可用性データベースを削除すると、以前のプライマリ データベースおよび対応するセカンダリ データベース間のデータの同期が終了します。Removing an availability database from its availability group ends data synchronization between the former primary database and the corresponding secondary databases. 以前のプライマリ データベースはオンラインのまま残ります。The former primary database remains online. すべての対応するセカンダリ データベースは RESTORING 状態になります。Every corresponding secondary database is placed in the RESTORING state.

この時点で、削除されたセカンダリ データベースを処理する別の方法は次のとおりです。At this point there are alternative ways of dealing with a removed secondary database:

  • 特定のセカンダリ データベースが不要の場合は、削除できます。If you no longer need a given secondary database, you can drop it.

    詳細については、「 データベースの削除」を参照してください。For more information, see Delete a Database.

  • 可用性グループから削除された後に、削除されたセカンダリ データベースにアクセスする必要がある場合は、データベースを復元できます。If you want to access a removed secondary database after it has been removed from the availability group, you can recover the database. ただし、削除されたセカンダリ データベースを復元すると、異なる 2 つのデータベースが同じ名前でオンラインになります。However, if you recover a removed secondary database, two divergent, independent databases that have the same name are online. クライアントからはどちらか一方のデータベース (通常は最新のプライマリ データベース) にしかアクセスできないようにする必要があります。You must make sure that clients can access only one of them, typically the most recent primary database.

    詳細については、「データを復元しないデータベースの復旧 (Transact-SQL)」を参照してください。For more information, see Recover a Database Without Restoring Data (Transact-SQL).

参照See Also

AlwaysOn 可用性グループの概要 (SQL Server) Overview of Always On Availability Groups (SQL Server)
可用性グループからのセカンダリ データベースの削除 (SQL Server)Remove a Secondary Database from an Availability Group (SQL Server)