Always On 可用性グループからプライマリ データベースを削除する

適用対象:SQL Server

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

前提条件と制限

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

アクセス許可

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

SQL Server Management Studio を使用する

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

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

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

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

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

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

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

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;  
    

PowerShell の使用

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

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

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

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

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

    Note

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

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

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

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

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

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

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

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

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

参照

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