解決sqlserver資料庫單一使用者無法刪除的問題

不那麼喜歡敲程式碼發表於2020-12-11
USE [master]

GO

/****** Object:  StoredProcedure [dbo].[killspid]    Script Date: 03/28/2011 11:01:32 ******/

SET ANSI_NULLS ON

GO

SET QUOTED_IDENTIFIER ON

GO

--建一個儲存過程,斷開所有使用者連線。  

create proc   [dbo].[killspid]   (@dbname   varchar(20))  

as

begin

declare @sql   nvarchar(500)  

declare @spid   int

set @sql='declare   getspid   cursor   for    

select   spid   from   sysprocesses   where   dbid=db_id('''+@dbname+''')'

exec (@sql)  

open getspid  

fetch next from getspid   into @spid  

while   @@fetch_status<>-1  

begin

exec('kill   '+@spid)  

fetch next from getspid   into @spid  

end

close getspid  

deallocate getspid  

end


GO

先在master中建立一個儲存過程,用於幹掉所有連線,然後呼叫

use   master  

exec killspid   '出問題的資料庫名'

相關文章