データベースのデタッチ

このトピックでは、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 の使用

データベースをデタッチするには

  1. SQL Server Management Studio オブジェクト エクスプローラーで、SQL Server データベース エンジンのインスタンスに接続して、そのインスタンスを展開します。

  2. [データベース] を展開し、デタッチするユーザー データベースの名前を選択します。

  3. データベース名を右クリックして [タスク] をポイントし、[デタッチ] をクリックします。 [データベースのデタッチ] ダイアログ ボックスが表示されます。

    • [デタッチするデータベース]
      デタッチするデータベースを一覧表示します。

    • [データベース名]
      デタッチするデータベースの名前を表示します。

    • [接続の削除]
      指定したデータベースへの接続を切断します。

      注意

      アクティブな接続があるデータベースをデタッチすることはできません。

    • [統計の更新]
      既定では、データベースをデタッチしても、古い最適化統計情報が保持されます。既存の最適化統計情報を更新するには、このチェック ボックスをオンにします。

    • [フルテキスト カタログの保持]
      既定では、デタッチ操作を行っても、データベースに関連付けられたフルテキスト カタログが保持されます。 これらのカタログを削除するには、[フルテキスト カタログの保持] チェック ボックスをオフにします。 このオプションは、データベースを SQL Server 2005 からアップグレードする場合にのみ表示されます。

    • [状態]
      [準備完了] または [準備ができていません] のどちらかの状態を表示します。

    • [メッセージ]
      [メッセージ] 列に、次のようにデータベースに関する情報が表示される場合があります。

      • データベースがレプリケーションに含まれている場合、[状態][準備ができていません] になり、[メッセージ] 列に [データベースがレプリケートされました] と表示されます。

      • データベースにアクティブな接続が 1 つ以上ある場合、[状態][準備ができていません] になり、[メッセージ] 列に [<number_of_active_connections> のアクティブな接続] (例 : [1 のアクティブな接続]) と表示されます。 データベースをデタッチするには、[接続の削除] を選択してアクティブな接続を切断する必要があります。

      メッセージについてより詳しい情報を得るには、ハイパーリンクのテキストをクリックして利用状況モニターを開きます。

  4. データベースをデタッチする準備ができたら、[OK] をクリックします。

注意

新たにデタッチしたデータベースは、表示を最新の情報に更新するまで、オブジェクト エクスプローラーの [データベース] ノード内に表示されたままです。 表示の更新はいつでも実行できます。表示を更新するには、[オブジェクト エクスプローラー] ペインをクリックし、[表示] メニューの [最新の情報に更新] をクリックします。

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

Transact-SQL の使用

データベースをデタッチするには

  1. データベース エンジンに接続します。

  2. [標準] ツール バーの [新しいクエリ] をクリックします。

  3. 次の例をコピーしてクエリ ウィンドウに貼り付け、[実行] をクリックします。 この例では、skipchecks を true に設定して、AdventureWorks2012 データベースをデタッチします。

EXEC sp_detach_db 'AdventureWorks2012', 'true';

関連項目

参照

sp_detach_db (Transact-SQL)

概念

データベースのデタッチとアタッチ (SQL Server)