3702: Cannot drop database because it is currently in use(データベースは使用中のため削除できない)
SQL Server意味
データベースの削除または名前変更を試みたが、データベースがまだアクティブな接続で使用中のため拒否された。SQL Server は使用中のデータベースを削除できない。
原因
削除対象のデータベースに他のセッション (アプリケーションプール、開いたままの SSMS タブ、バックグラウンドジョブ) が接続している。自身のセッションのコンテキスト (USE) がそのデータベースである場合でも発生する。監視/バックアップツールの開いた接続もよくある原因。
対処方法
削除前に別のデータベースに切り替える (USE master;)。接続中のセッションを特定して終了するか、先にデータベースをシングルユーザーモードにする: ALTER DATABASE [db] SET SINGLE_USER WITH ROLLBACK IMMEDIATE; 続いて DROP DATABASE [db]; を実行する。アプリケーションのコネクションプールを停止し、監視ツールが接続を開いていないことを確認する。
同じデータベースの他の項目
- 8645A time out occurred while waiting for memory resources to execute the query(クエリ実行用のメモリリソース待機中にタイムアウト発生)
- 8651Could not perform the operation because the requested memory grant was not available(要求されたメモリ許可が利用できないため操作を実行できない)
- 5061ALTER DATABASE failed because a lock could not be placed on database(データベースにロックを設定できないため ALTER DATABASE が失敗)
- 15138The database principal owns a schema in the database, and cannot be dropped(データベースプリンシパルがスキーマを所有しているため削除できない)
- 1934INSERT/UPDATE failed because the following SET options have incorrect settings(次の SET オプションの設定が誤っているため INSERT/UPDATE が失敗)
- 468Cannot resolve the collation conflict(照合順序の競合を解決できない)
- 4864Bulk load data conversion error (type mismatch or invalid character)(一括読込みのデータ変換エラー (型の不一致または無効な文字))