DBAtlas · 데이터베이스 운영 아틀라스

3702: Cannot drop database because it is currently in use (사용 중이어서 데이터베이스 삭제 불가)

SQL Server

의미

데이터베이스를 삭제하거나 이름을 바꾸려 했지만 활성 연결이 여전히 사용 중이어서 거부되었다. SQL Server는 사용 중인 데이터베이스를 삭제할 수 없다.

원인

다른 세션(애플리케이션 풀, 열린 SSMS 탭, 백그라운드 작업)이 삭제하려는 데이터베이스에 연결되어 있다. 자신의 세션이 해당 데이터베이스를 컨텍스트(USE)로 사용하는 것만으로도 발생할 수 있다. 모니터링/백업 도구의 열린 연결도 흔한 원인이다.

해결 방법

삭제 전에 다른 데이터베이스로 전환한다(USE master;). 연결된 세션을 찾아 닫거나, 먼저 데이터베이스를 single-user 모드로 전환한다: ALTER DATABASE [db] SET SINGLE_USER WITH ROLLBACK IMMEDIATE; 이후 DROP DATABASE [db];를 실행한다. 애플리케이션 커넥션 풀을 중지하고 모니터링 도구가 연결을 열지 않는지 확인한다.

DBAtlas에서 열기 →

같은 데이터베이스의 다른 항목