SQLSERVER2005中創(chuàng )建數據庫發(fā)生無(wú)法獲得數據庫'model'上的排他鎖是怎么回事?
文章出處:http://psychicreadingswithdeb.com 作者:興邦研發(fā)部 人氣: 發(fā)表時(shí)間:2014年06月17日
SQLSERVER2005中創(chuàng )建數據庫發(fā)生無(wú)法獲得數據庫'model'上的排他鎖是怎么回事?
創(chuàng )建數據庫失敗,提示無(wú)法獲得數據庫‘model’上的排他鎖,如下圖所示:
解決方法:
在查詢(xún)分析器中運行如下代碼即可:
use master
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
if @@rowcount = 0
break
exec(@sql)
end
原因分析:
死鎖是指在某組資源中,兩個(gè)或兩個(gè)以上的線(xiàn)程在執行過(guò)程中,在爭奪某一資源時(shí)而造成互相等待的現象,若無(wú)外力的作用下,它們都將無(wú)法推進(jìn)下去,死時(shí)就可能會(huì )產(chǎn)生死鎖,這些永遠在互相等待的進(jìn)程稱(chēng)為死鎖線(xiàn)程。簡(jiǎn)單的說(shuō),進(jìn)程A等待進(jìn)程B釋放他的資源,B又等待A釋放他的資源,這樣互相等待就形成死鎖。