今天在用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');html
--殺掉佔用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
gosql
以上語句成功執行後,再執行先前的數據庫建立腳本,數據庫成功建立,問題解決.數據庫
本文來源: 原創自http://www.023shjy.com/learns/show/164.aspx,轉載請註明原文出處post