[SQL SERVER][TS] 解決無法取得資料庫 'model' 的獨佔鎖定。
網友問題。
系統資料庫:Model
當我們在建立新資料庫時,都會複製 model 資料庫的內容(執行個體上資料庫的範本),
來作為新資料庫的第一部份,所以如果你修改 model 資料庫相關內容,
好比資料庫選項、function、table、store procedure..等相關物件,
那後續所建立的資料庫都會繼承相關變更,
而且當我們每次啟動SQL Server時都會建立 tempdb,
所以 model 資料庫一定要存在於SQL Server系統中。
狀況模擬
1. model 資料庫有相關正在執行的作業處理序
select spid,waitresource,waittime , program_name,status,cmd,hostname
from sys.sysprocesses
where db_name(dbid) = 'model'
當你要建立資料庫就會發生下面錯誤
解決方法:終止該作業處理序
Kill 53
2. SSMS session 存在 model 資料庫
這和第一個狀況很類似,查詢 model process 資訊如下
雖然該 process status=sleeping,但你還是無法正常建立資料庫。
解決方法:Kill spid 或關掉SSMS session
參考