可用性グループからのプライマリ データベースの削除 (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 の使用
可用性データベースを削除するには
オブジェクト エクスプローラーで、削除するデータベースのプライマリ レプリカをホストするサーバー インスタンスに接続し、サーバー ツリーを展開します。
[AlwaysOn 高可用性] ノードと [可用性グループ] ノードを展開します。
可用性グループを選択し、[可用性データベース] ノードを展開します。
削除するデータベースが複数であるか 1 つのみであるかによって、次のように実行する手順が異なります。
複数のデータベースを削除するには、[オブジェクト エクスプローラーの詳細] ペインを使用して削除するデータベースを表示し、すべてを選択します。 詳細については、「[オブジェクト エクスプローラーの詳細] を使用した可用性グループの監視 (SQL Server Management Studio)」を参照してください。
1 つのデータベースを削除するには、[オブジェクト エクスプローラー] ペインまたは [オブジェクト エクスプローラーの詳細] ペインでそれを選択します。
選択したデータベースを右クリックし、コマンド メニューの [可用性グループからデータベースを削除] を選択します。
[可用性グループからデータベースを削除] ダイアログ ボックスで、表示されたすべてのデータベースを削除するには、[OK] をクリックします。 すべて削除しない場合は、[キャンセル] をクリックします。
[Top]
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;
[Top]
PowerShell の使用
可用性データベースを削除するには
プライマリ レプリカをホストするサーバー インスタンスにディレクトリを変更 (cd) します。
可用性グループから削除する可用性データベース名を指定して、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]