可用性グループからのセカンダリ データベースの削除 (SQL Server)

適用対象:SQL Server

このトピックでは、SQL Server で SQL Server Management Studio、Transact-SQL、PowerShell を使用して、AlwaysOn 可用性グループからセカンダリ データベースを削除する方法について説明します。

前提条件と制限

  • このタスクは、セカンダリ レプリカ上でのみサポートされます。 データベースを削除するセカンダリ レプリカをホストするサーバー インスタンスに接続している必要があります。

アクセス許可

データベースに対する ALTER 権限が必要です。

SQL Server Management Studio を使用する

セカンダリ データベースを可用性グループから削除するには

  1. オブジェクト エクスプローラーで、1 つ以上のセカンダリ データベースを削除するセカンダリ レプリカをホストするサーバー インスタンスに接続し、サーバー ツリーを展開します。

  2. [AlwaysOn 高可用性] ノードと [可用性グループ] ノードを展開します。

  3. 可用性グループを選択し、 [可用性データベース] ノードを展開します。

  4. 削除するデータベースが複数であるか 1 つのみであるかによって、次のように実行する手順が異なります。

  5. 選択したデータベースを右クリックし、コマンド メニューの [セカンダリ データベースの削除] を選択します。

  6. [可用性グループからのデータベースの削除] ダイアログ ボックスで、表示されたすべてのデータベースを削除するには、 [OK]をクリックします。 表示されたデータベースをすべて削除しない場合は、 [キャンセル]をクリックします。

Transact-SQL の使用

セカンダリ データベースを可用性グループから削除するには

  1. セカンダリ レプリカをホストするサーバー インスタンスに接続します。

  2. ALTER DATABASE ステートメントの SET HADR 句 を使用します。次にその例を示します。

    ALTER DATABASE database_name SET HADR OFF

    database_name の部分には、可用性グループから削除するセカンダリ データベース名を指定します。

    次の例では、ローカル セカンダリ データベース MyDb2 を、可用性グループから削除します。

    ALTER DATABASE MyDb2 SET HADR OFF;  
    GO  
    

PowerShell の使用

セカンダリ データベースを可用性グループから削除するには

  1. ディレクトリ変更コマンド (cd) を使用して、セカンダリ レプリカがホストされているサーバー インスタンスに移動します。

  2. 可用性グループから削除する可用性データベース名を指定して、 Remove-SqlAvailabilityDatabase コマンドレットを使用します。 セカンダリ レプリカをホストするサーバー インスタンスに接続している場合は、ローカル セカンダリ データベースのみが可用性グループから削除されます。

    たとえば、次のコマンドは、 MyDb8 という名前のサーバー インスタンスにホストされたセカンダリ レプリカから、セカンダリ データベース SecondaryComputer\Instanceを削除します。 削除されたセカンダリ データベースへのデータ同期は行われなくなります。 このコマンドは、プライマリ データベースまたはその他のセカンダリ データベースには影響しません。

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

    注意

    コマンドレットの構文を表示するには、 PowerShell 環境で Get-Help SQL Server コマンドレットを使用します。 詳細については、「 Get Help SQL Server PowerShell」を参照してください。

SQL Server PowerShell プロバイダーを設定して使用するには

補足情報: セカンダリ データベースを可用性グループから削除した後

セカンダリ データベースを削除すると、可用性グループに参加しなくなり、削除されたセカンダリ データベースに関するすべての情報が可用性グループによって破棄されます。 削除されたセカンダリ データベースは RESTORING 状態になります。

ヒント

セカンダリ データベースを削除してしばらくの間は、そのデータベースを可用性グループに再度参加させて、データベース上で AlwaysOn データ同期を再開できることがあります。 詳細については、セカンダリ データベースの可用性グループへの参加 (SQL Server) に関するページを参照してください。

この時点で、削除されたセカンダリ データベースを処理する別の方法は次のとおりです。

  • セカンダリ データベースが不要の場合は、削除できます。

    詳細については、「DROP DATABASE (Transact-SQL)」または「データベースの削除」を参照してください。

  • 可用性グループから削除された後に、削除されたセカンダリ データベースにアクセスする必要がある場合は、データベースを復元できます。 ただし、削除されたセカンダリ データベースを復元すると、異なる 2 つのデータベースが同じ名前でオンラインになります。 クライアントが現在のプライマリ データベースのみにアクセスできるようにする必要があります。

    詳細については、「データを復元しないデータベースの復旧 (Transact-SQL)」を参照してください。

参照

Always On 可用性グループの概要 (SQL Server)
可用性グループからのプライマリ データベースの削除 (SQL Server)