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

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

  • 作業を開始する準備: 

    前提条件と制限

    セキュリティ

  • 可用性データベースを削除する方法: 

    SQL Server Management Studio

    Transact-SQL

    PowerShell

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

作業を開始する準備

前提条件と制限

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

セキュリティ

権限

可用性グループの ALTER AVAILABILITY GROUP 権限、CONTROL AVAILABILITY GROUP 権限、ALTER ANY AVAILABILITY GROUP 権限、または CONTROL SERVER 権限が必要です。

[トップに戻る] リンクで使用される矢印アイコン[Top]

SQL Server Management Studio の使用

可用性データベースを削除するには

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

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

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

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

  5. 選択したデータベースを右クリックし、コマンド メニューの [可用性グループからデータベースを削除] を選択します。

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

[トップに戻る] リンクで使用される矢印アイコン[Top]

Transact-SQL の使用

可用性データベースを削除するには

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

  2. ALTER AVAILABILITY GROUP ステートメントを使用します。次にその例を示します。

    ALTER AVAILABILITY GROUP group_name REMOVE DATABASE availability_database_name

    group_name の部分には、可用性グループの名前を指定します。database_name の部分には、削除するデータベースの名前を指定します。

    次の例では、Db6 というデータベースを MyAG 可用性グループから削除します。

    ALTER AVAILABILITY GROUP MyAG REMOVE DATABASE Db6;
    

[トップに戻る] リンクで使用される矢印アイコン[Top]

PowerShell の使用

可用性データベースを削除するには

  1. プライマリ レプリカをホストするサーバー インスタンスにディレクトリを変更 (cd) します。

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

    たとえば、次のコマンドは、可用性データベース MyDb9 を MyAg という名前の可用性グループから削除します。 このコマンドはプライマリ レプリカをホストするサーバー インスタンスで実行されるため、プライマリ データベースおよび対応するすべてのセカンダリ データベースが可用性グループから削除されます。 どのセカンダリ レプリカでも、このデータベースに対してデータ同期は行われなくなります。

    Remove-SqlAvailabilityDatabase ` 
    -Path SQLSERVER:\Sql\PrimaryComputer\InstanceName\AvailabilityGroups\MyAg\Databases\MyDb9
    
    注意

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

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

[トップに戻る] リンクで使用される矢印アイコン[Top]

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

可用性グループから可用性データベースを削除すると、以前のプライマリ データベースおよび対応するセカンダリ データベース間のデータの同期が終了します。 以前のプライマリ データベースはオンラインのまま残ります。 すべての対応するセカンダリ データベースは RESTORING 状態になります。

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

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

    詳細については、「データベースの削除」を参照してください。

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

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

[トップに戻る] リンクで使用される矢印アイコン[Top]

関連項目

概念

AlwaysOn 可用性グループの概要 (SQL Server)

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