SQL Server 2008에서 데이터베이스를 강제로 삭제하는 방법


68

데이터베이스를 강제로 삭제하려고하는데 데이터베이스를 삭제 한 후 데이터베이스를 다시 만들려고 할 때 오류가 발생합니다.

C : \ Program Files ..... [databasename] .mdf 파일이 이미 있으므로 만들 수 없습니다

다음은 데이터베이스를 강제로 삭제하는 쿼리입니다.

Use master;
ALTER database [databasename] set offline with ROLLBACK IMMEDIATE;
DROP database [databasename];

위의 쿼리가 데이터베이스를 삭제하고 있지만 .ldf.mdf파일을 삭제하지 않는다는 것을 이해했습니다 . 데이터베이스를 완전히 삭제하는 방법?

일반적인 검색어

Drop database [databasename] ; //deletes the database completely, including the ldf and mdf's.

데이터베이스를 강제로 삭제하는 방법은 .mdf.ldf파일 도 삭제 합니까?

답변:


116

그것은 예상되고 문서화 된 행동입니다 :

데이터베이스를 삭제하면 SQL Server 인스턴스에서 데이터베이스가 삭제되고 데이터베이스에서 사용하는 실제 디스크 파일이 삭제됩니다. 데이터베이스 나 파일 중 하나가 삭제 될 때 오프라인 인 경우 디스크 파일은 삭제되지 않습니다. 이러한 파일은 Windows 탐색기를 사용하여 수동으로 삭제할 수 있습니다. 파일 시스템에서 파일을 삭제하지 않고 현재 서버에서 데이터베이스를 제거하려면 sp_detach_db를 사용하십시오.

그렇다면 왜 데이터베이스를 먼저 오프라인 상태로 만드는가? SINGLE_USER모드 로 설정 한 다음 SQL Server 온라인 설명서에 설명 된대로 삭제하십시오.

USE master;
ALTER DATABASE [databasename] SET SINGLE_USER WITH ROLLBACK IMMEDIATE;
DROP DATABASE [databasename] ;

데이터베이스 백업은 위에서 설명한 프로세스의 일부로 삭제 되지 않습니다 .

당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.