1. 程式人生 > >還原數據庫出現“未獲得排他訪問”解決方法(殺死數據庫連接的存儲過程sqlserver)

還原數據庫出現“未獲得排他訪問”解決方法(殺死數據庫連接的存儲過程sqlserver)

get type open mod con eat lis proc padding

在master數據庫下創建存儲步驟例如以下:

createproc killspid (@dbnamevarchar(20))
as
begin
declare@sqlnvarchar(500)
declare@spidint
set@sql=declare getspid cursor for select spid from sysprocesses where dbid in (select dbid from sysdatabases where name=+@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
--使用方法

use master
exec killspid ‘‘‘數據庫名‘‘‘

單引號嵌套

用三個單引號的作用,最外層的單引號表示vchar。第二個單引號是轉義。最裏面的單引號是字符串中的單引號。declare @dbname nvarchar(500)

set @dbname=‘‘‘zcc‘‘‘ --得到的變量為‘zcc‘。 set @dbname=‘zcc‘ --得到的變量是zcc

還原數據庫出現“未獲得排他訪問”解決方法(殺死數據庫連接的存儲過程sqlserver)