次の方法で共有


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

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

  • 作業を開始する準備: 

    前提条件

    セキュリティ

  • セカンダリ データベースを削除する方法: 

    SQL Server Management Studio

    Transact-SQL

    PowerShell

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

作業を開始する準備

前提条件と制限

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

セキュリティ

権限

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

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

SQL Server Management Studio の使用

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

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

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

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

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

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

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

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

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
    

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

PowerShell の使用

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

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

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

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

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

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

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

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

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

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

ヒントヒント

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

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

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

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

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

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

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

関連項目

概念

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

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