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

適用対象:Applies to: はいSQL ServerSQL Server (サポートされているすべてのバージョン) yesSQL ServerSQL Server (all supported versions) 適用対象:Applies to: はいSQL ServerSQL Server (サポートされているすべてのバージョン) yesSQL ServerSQL Server (all supported versions)

このトピックでは、 SQL Server Management StudioSQL Server Management StudioTransact-SQLTransact-SQLSQL ServerSQL Server、または PowerShell を使用して、AlwaysOn 可用性グループからセカンダリ データベースを削除する方法について説明します。This topic describes how to remove a secondary database from an Always On availability group by using SQL Server Management StudioSQL Server Management Studio, Transact-SQLTransact-SQL, or PowerShell in SQL ServerSQL Server.

前提条件と制限Prerequisites and Restrictions

  • このタスクは、セカンダリ レプリカ上でのみサポートされます。This task is supported only on secondary replicas. データベースを削除するセカンダリ レプリカをホストするサーバー インスタンスに接続している必要があります。You must be connected to the server instance that hosts the secondary replica from which the database is to be removed.

PermissionsPermissions

データベースに対する ALTER 権限が必要です。Requires ALTER permission on the database.

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

セカンダリ データベースを可用性グループから削除するにはTo remove a secondary database from an availability group

  1. オブジェクト エクスプローラーで、1 つ以上のセカンダリ データベースを削除するセカンダリ レプリカをホストするサーバー インスタンスに接続し、サーバー ツリーを展開します。In Object Explorer, connect to the server instance that hosts the secondary replica from which you want to remove one or more secondary databases, 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 Secondary Database in the command menu.

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

Transact-SQL の使用Using Transact-SQL

セカンダリ データベースを可用性グループから削除するにはTo remove a secondary database from an availability group

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

  2. ALTER DATABASE ステートメントの SET HADR 句 を使用します。次にその例を示します。Use the SET HADR clause of the ALTER DATABASE statement, as follows:

    ALTER DATABASE database_name SET HADR OFFALTER DATABASE database_name SET HADR OFF

    database_name の部分には、可用性グループから削除するセカンダリ データベース名を指定します。where database_name is the name of a secondary database to be removed from the availability group to which it belongs.

    次の例では、ローカル セカンダリ データベース MyDb2 を、可用性グループから削除します。The following example removes the local secondary database MyDb2 from its availability group.

    ALTER DATABASE MyDb2 SET HADR OFF;  
    GO  
    

PowerShell の使用Using PowerShell

セカンダリ データベースを可用性グループから削除するにはTo remove a secondary database from an availability group

  1. ディレクトリ変更コマンド (cd) を使用して、セカンダリ レプリカがホストされているサーバー インスタンスに移動します。Change directory (cd) to the server instance that hosts the secondary 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 a server instance that hosts a secondary replica, only the local secondary database is removed from the availability group.

    たとえば、次のコマンドは、 MyDb8 という名前のサーバー インスタンスにホストされたセカンダリ レプリカから、セカンダリ データベース SecondaryComputer\Instanceを削除します。For example, the following command removes the secondary database MyDb8 from the secondary replica hosted by the server instance named SecondaryComputer\Instance. 削除されたセカンダリ データベースへのデータ同期は行われなくなります。Data synchronization to the removed secondary databases ceases. このコマンドは、プライマリ データベースまたはその他のセカンダリ データベースには影響しません。This command does not affect the primary database or any other secondary databases.

    Remove-SqlAvailabilityDatabase `  
    -Path SQLSERVER:\Sql\SecondaryComputer\InstanceName\AvailabilityGroups\MyAg\Databases\MyDb8  
    

    注意

    コマンドレットの構文を表示するには、 PowerShell 環境で Get-Help SQL ServerSQL Server コマンドレットを使用します。To view the syntax of a cmdlet, use the Get-Help cmdlet in the SQL ServerSQL Server 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 a Secondary Database from an Availability Group

セカンダリ データベースを削除すると、可用性グループに参加しなくなり、削除されたセカンダリ データベースに関するすべての情報が可用性グループによって破棄されます。When a secondary database is removed, it is no longer joined to the availability group and all information about the removed secondary database is discarded by the availability group. 削除されたセカンダリ データベースは RESTORING 状態になります。The removed secondary database is placed in the RESTORING state.

ヒント

セカンダリ データベースを削除してしばらくの間は、そのデータベースを可用性グループに再度参加させて、データベース上で AlwaysOn データ同期を再開できることがあります。For a short time after removing a secondary database, you might be able to restart Always On data synchronization on the database by re-joining it to the availability group. 詳細については、「 可用性グループへのセカンダリ データベースの参加 (SQL Server)のインスタンスに AlwaysOn 可用性グループを作成する方法について説明します。For more information, see Join a Secondary Database to an Availability Group (SQL Server).

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

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

    詳細については、「DROP DATABASE (Transact-SQL)」または「データベースの削除」を参照してください。For more information, see DROP DATABASE (Transact-SQL) or 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 the current 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 Primary Database from an Availability Group (SQL Server)