無法獲得數據庫 'model' 上的排他鎖 解決辦法
今天在用sql腳本創建數據庫時提示錯誤:無法獲得數據庫 'model' 上的排他鎖。請稍后重試該操作
由錯誤提示看出'model'模版數據庫被其他進程占用了。
用查看系統進程語句查看model數據庫被哪些進程占用了,找到進程id,然后用kill命令殺掉占用進程
--使用以下語句查出占用model數據庫的進程id,然后使用kill命令 殺掉進程
--查看占用model數據庫的進程,如果是2000,替換成master.dbo.sysprocesses
use master --選擇數據庫
go
select spid from master.sys.sysprocesses where dbid = db_id('model');
--殺掉占用model數據庫的進程
use master --選擇數據庫
go
declare @sql varchar(100)
while 1=1
begin
select top 1 @sql = 'kill '+cast(spid as varchar(3))
from master..sysprocesses where spid > 50 and spid <> @@spid and dbid = db_id('model')
if @@rowcount = 0
break ;
print(@sql) --打印殺掉進程語句
exec(@sql) --執行殺掉進程語句
end
go
以上語句成功執行后,再執行先前的數據庫創建腳本,數據庫成功創建,問題解決.
本文來源: 原創自http://www.023shjy.com/learns/show/164.aspx,轉載請注明原文出處