2013년 7월 17일 수요일

mssql - drop database (single user mode)

0. 사용중인 database를 drop 하기 위해선 single_user 모드로 바꿔줘야 한다.

1. single_user mode
USE master;
GO
ALTER DATABASE AdventureWorks2012
SET SINGLE_USER
WITH ROLLBACK IMMEDIATE;
GO
ALTER DATABASE AdventureWorks2012
SET READ_ONLY;
GO
ALTER DATABASE AdventureWorks2012
SET MULTI_USER;
GO

2. 나 같은 경우 여전히 session에 물려있어 drop database 혹은 multi_user로 바뀌지가 않는다. 이럴 때 아래를 참고해서 session id를 찾아서 kill 해준 후 drop 해준다.

select d.name, d.dbid, spid, login_time, nt_domain, nt_username, loginame
  from sysprocesses p inner join sysdatabases d on p.dbid = d.dbid
 where d.name = 'database_name'
go

kill 51 go

3. ref
 - http://remidian.com/2008/01/remove-sql-server-database-from-single-user-mode/

댓글 없음:

댓글 쓰기