DBAtlas · データベース運用アトラス

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]; を実行する。アプリケーションのコネクションプールを停止し、監視ツールが接続を開いていないことを確認する。

DBAtlas で開く →

同じデータベースの他の項目