可用性グループからのプライマリ データベースの削除 (SQL Server)
このトピックでは、SQL Server 2014 で SQL Server Management Studio、Transact-SQL、または PowerShell を使用して、AlwaysOn 可用性グループからプライマリ データベースと対応するセカンダリ データベースの両方を削除する方法について説明します。
作業を開始する準備:
可用性データベースを削除する方法:
補足情報: 可用性グループから可用性データベースを削除した後
始める前に
前提条件と制限
- このタスクは、プライマリ レプリカ上でのみサポートされます。 プライマリ レプリカをホストするサーバー インスタンスに接続されている必要があります。
セキュリティ
アクセス許可
可用性グループの ALTER AVAILABILITY GROUP 権限、CONTROL AVAILABILITY GROUP 権限、ALTER ANY AVAILABILITY GROUP 権限、または CONTROL SERVER 権限が必要です。
SQL Server Management Studio を使用する
可用性データベースを削除するには
オブジェクト エクスプローラーで、削除するデータベースのプライマリ レプリカをホストするサーバー インスタンスに接続し、サーバー ツリーを展開します。
[AlwaysOn 高可用性] ノードと [可用性グループ] ノードを展開します。
可用性グループを選択し、 [可用性データベース] ノードを展開します。
削除するデータベースが複数であるか 1 つのみであるかによって、次のように実行する手順が異なります。
複数のデータベースを削除するには、 [オブジェクト エクスプローラーの詳細] ペインを使用して削除するデータベースを表示し、すべてを選択します。 詳細については、「[オブジェクト エクスプローラーの詳細] を使用した可用性グループの監視 (SQL Server Management Studio)」を参照してください。
1 つのデータベースを削除するには、 [オブジェクト エクスプローラー] ペインまたは [オブジェクト エクスプローラーの詳細] ペインでそれを選択します。
選択したデータベースを右クリックし、コマンド メニューの [可用性グループからデータベースを削除] を選択します。
[可用性グループからデータベースを削除] ダイアログ ボックスで、表示されたすべてのデータベースを削除するには、 [OK]をクリックします。 すべて削除しない場合は、 [キャンセル]をクリックします。
Transact-SQL の使用
可用性データベースを削除するには
プライマリ レプリカをホストするサーバー インスタンスに接続します。
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 の使用
可用性データベースを削除するには
プライマリ レプリカをホストするサーバー インスタンスにディレクトリを変更 (
cd
) します。可用性グループから削除する可用性データベース名を指定して、
Remove-SqlAvailabilityDatabase
コマンドレットを使用します。 プライマリ レプリカをホストするサーバー インスタンスに接続している場合は、プライマリ データベースおよび対応するセカンダリ データベースがすべて可用性グループから削除されます。たとえば、次のコマンドは、可用性データベース
MyDb9
をMyAg
という名前の可用性グループから削除します。 このコマンドはプライマリ レプリカをホストするサーバー インスタンスで実行されるため、プライマリ データベースおよび対応するすべてのセカンダリ データベースが可用性グループから削除されます。 どのセカンダリ レプリカでも、このデータベースに対してデータ同期は行われなくなります。Remove-SqlAvailabilityDatabase -Path SQLSERVER:\Sql\PrimaryComputer\InstanceName\AvailabilityGroups\MyAg\Databases\MyDb9
Note
コマンドレットの構文を表示するには、SQL Server 2014 PowerShell 環境で
Get-Help
コマンドレットを使用します。 詳細については、「 Get Help SQL Server PowerShell」を参照してください。
SQL Server PowerShell プロバイダーを設定して使用するには
補足情報: 可用性グループから可用性データベースを削除した後
可用性グループから可用性データベースを削除すると、以前のプライマリ データベースおよび対応するセカンダリ データベース間のデータの同期が終了します。 以前のプライマリ データベースはオンラインのまま残ります。 すべての対応するセカンダリ データベースは RESTORING 状態になります。
この時点で、削除されたセカンダリ データベースを処理する別の方法は次のとおりです。
特定のセカンダリ データベースが不要の場合は、削除できます。
詳細については、「 データベースの削除」を参照してください。
可用性グループから削除された後に、削除されたセカンダリ データベースにアクセスする必要がある場合は、データベースを復元できます。 ただし、削除されたセカンダリ データベースを復元すると、異なる 2 つのデータベースが同じ名前でオンラインになります。 クライアントからはどちらか一方のデータベース (通常は最新のプライマリ データベース) にしかアクセスできないようにする必要があります。
詳細については、「データを復元しないデータベースの復旧 (Transact-SQL)」を参照してください。
参照
AlwaysOn 可用性グループの概要 (SQL Server)
可用性グループからのセカンダリ データベースの削除 (SQL Server)