可用性グループからのセカンダリ データベースの削除 (SQL Server)
適用対象: SQL Server
このトピックでは、SQL Server で SQL Server Management Studio、Transact-SQL、PowerShell を使用して、AlwaysOn 可用性グループからセカンダリ データベースを削除する方法について説明します。
前提条件と制限
- このタスクは、セカンダリ レプリカ上でのみサポートされます。 データベースを削除するセカンダリ レプリカをホストするサーバー インスタンスに接続している必要があります。
アクセス許可
データベースに対する ALTER 権限が必要です。
SQL Server Management Studio を使用する
セカンダリ データベースを可用性グループから削除するには
オブジェクト エクスプローラーで、1 つ以上のセカンダリ データベースを削除するセカンダリ レプリカをホストするサーバー インスタンスに接続し、サーバー ツリーを展開します。
[AlwaysOn 高可用性] ノードと [可用性グループ] ノードを展開します。
可用性グループを選択し、 [可用性データベース] ノードを展開します。
削除するデータベースが複数であるか 1 つのみであるかによって、次のように実行する手順が異なります。
複数のデータベースを削除するには、 [オブジェクト エクスプローラーの詳細] ペインを使用して削除するデータベースを表示し、すべてを選択します。 詳細については、「[オブジェクト エクスプローラーの詳細] を使用した可用性グループの監視 (SQL Server Management Studio)」を参照してください。
1 つのデータベースを削除するには、 [オブジェクト エクスプローラー] ペインまたは [オブジェクト エクスプローラーの詳細] ペインでそれを選択します。
選択したデータベースを右クリックし、コマンド メニューの [セカンダリ データベースの削除] を選択します。
[可用性グループからのデータベースの削除] ダイアログ ボックスで、表示されたすべてのデータベースを削除するには、 [OK]をクリックします。 表示されたデータベースをすべて削除しない場合は、 [キャンセル]をクリックします。
Transact-SQL の使用
セカンダリ データベースを可用性グループから削除するには
セカンダリ レプリカをホストするサーバー インスタンスに接続します。
ALTER DATABASE ステートメントの SET HADR 句 を使用します。次にその例を示します。
ALTER DATABASE database_name SET HADR OFF
database_name の部分には、可用性グループから削除するセカンダリ データベース名を指定します。
次の例では、ローカル セカンダリ データベース MyDb2 を、可用性グループから削除します。
ALTER DATABASE MyDb2 SET HADR OFF; GO
PowerShell の使用
セカンダリ データベースを可用性グループから削除するには
ディレクトリ変更コマンド (cd) を使用して、セカンダリ レプリカがホストされているサーバー インスタンスに移動します。
可用性グループから削除する可用性データベース名を指定して、 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)