データベースのデタッチ
このトピックでは、SQL Server Management Studio または Transact-SQL を使用して、SQL Server 2012 のデータベースをデタッチする方法について説明します。 デタッチされたファイルはそのまま残り、FOR ATTACH または FOR ATTACH_REBUILD_LOG オプションを指定した CREATE DATABASE によって再アタッチできます。 ファイルを別のサーバーに移動し、そこにアタッチすることもできます。
このトピックの内容
作業を開始する準備:
制限事項と制約事項
セキュリティ
データベースをデタッチする方法:
SQL Server Management Studio
Transact-SQL
作業を開始する準備
制限事項と制約事項
制限事項と制約事項の一覧については、「データベースのデタッチとアタッチ (SQL Server)」を参照してください。
セキュリティ
権限
db_owner 固定データベース ロールのメンバーシップが必要です。
[Top]
SQL Server Management Studio の使用
データベースをデタッチするには
SQL Server Management Studio オブジェクト エクスプローラーで、SQL Server データベース エンジンのインスタンスに接続して、そのインスタンスを展開します。
[データベース] を展開し、デタッチするユーザー データベースの名前を選択します。
データベース名を右クリックして [タスク] をポイントし、[デタッチ] をクリックします。 [データベースのデタッチ] ダイアログ ボックスが表示されます。
[デタッチするデータベース]
デタッチするデータベースを一覧表示します。[データベース名]
デタッチするデータベースの名前を表示します。[接続の削除]
指定したデータベースへの接続を切断します。注 アクティブな接続があるデータベースをデタッチすることはできません。
[統計の更新]
既定では、データベースをデタッチしても、古い最適化統計情報が保持されます。既存の最適化統計情報を更新するには、このチェック ボックスをオンにします。[フルテキスト カタログの保持]
既定では、デタッチ操作を行っても、データベースに関連付けられたフルテキスト カタログが保持されます。 これらのカタログを削除するには、[フルテキスト カタログの保持] チェック ボックスをオフにします。 このオプションは、データベースを SQL Server 2005 からアップグレードする場合にのみ表示されます。[状態]
[準備完了] または [準備ができていません] のどちらかの状態を表示します。[メッセージ]
[メッセージ] 列に、次のようにデータベースに関する情報が表示される場合があります。データベースがレプリケーションに含まれている場合、[状態] は [準備ができていません] になり、[メッセージ] 列に [データベースがレプリケートされました] と表示されます。
データベースにアクティブな接続が 1 つ以上ある場合、[状態] は [準備ができていません] になり、[メッセージ] 列に [<number_of_active_connections> のアクティブな接続] (例 : [1 のアクティブな接続]) と表示されます。 データベースをデタッチするには、[接続の削除] を選択してアクティブな接続を切断する必要があります。
メッセージについてより詳しい情報を得るには、ハイパーリンクのテキストをクリックして利用状況モニターを開きます。
データベースをデタッチする準備ができたら、[OK] をクリックします。
注 |
---|
新たにデタッチしたデータベースは、表示を最新の情報に更新するまで、オブジェクト エクスプローラーの [データベース] ノード内に表示されたままです。 表示の更新はいつでも実行できます。表示を更新するには、[オブジェクト エクスプローラー] ペインをクリックし、[表示] メニューの [最新の情報に更新] をクリックします。 |
[Top]
Transact-SQL の使用
データベースをデタッチするには
データベース エンジンに接続します。
[標準] ツール バーの [新しいクエリ] をクリックします。
次の例をコピーしてクエリ ウィンドウに貼り付け、[実行] をクリックします。 この例では、skipchecks を true に設定して、AdventureWorks2012 データベースをデタッチします。
EXEC sp_detach_db 'AdventureWorks2012', 'true';