사용자가 붙어있어도 DB를 DROP시키는 쿼리 > db

본문 바로가기
사이트 내 전체검색

db

사용자가 붙어있어도 DB를 DROP시키는 쿼리

페이지 정보

작성자 서방님 댓글 0건 조회 124회 작성일 07-04-01 21:54

본문

내용 : DB를 드랍 시키고 싶은데.. 사용자가 존재하는 중이라 삭제가 불가함

이때 사용자를 바로바로 킬하문서~~~ DB를 쓱~ 날려버리는 심플한 쿼리 입니다.

DB를 싱글로 만들고 DBO 온리로 만들고 해도 될텐데..  라고 생각 하지만..

이거를 좀더 빠른 처리를 위해 아예 하나의 프로세스 상에서 킬하고 삭제를 가능하게 만든 경우 입니다.

아마 이 쿼리 만드신분은...  DB를 삭제할때 자꾸 누가 들어와 무쟈게 짱난 경험이 있으신듯...

 

--간단히 @dbname 변수를 바까만 주면 됩니다.
use master
go
declare @dbname sysname
set @dbname = 'pubs'        -- substitute your database name here

set nocount on
declare Users cursor for
        select spid
        from master..sysprocesses
        where db_name(dbid) = @dbname

declare @spid int, @str varchar(255)

open users

fetch next from users into @spid

while @@fetch_status <> -1
begin
   if @@fetch_status = 0
   begin
      set @str = 'kill ' + convert(varchar, @spid)
      exec (@str)
   end
   fetch next from users into @spid
end

deallocate users


exec ('drop database ' + @dbname)

댓글목록

등록된 댓글이 없습니다.

Total 464건 24 페이지
게시물 검색

회원로그인

접속자집계

오늘
31
어제
302
최대
1,347
전체
155,092
Latest Crypto Fear & Greed Index

그누보드5
Copyright © 서방님.kr All rights reserved.