無法獲得數據庫 'model' 上的排他鎖 解決辦法


無法獲得數據庫 '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,轉載請注明原文出處


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM