SQL Server資料庫恢復常見問題

www88xbocom1717693400發表於2021-03-15

在處理資料庫還原的時候,常常會出現(the database is in use) 錯誤資訊。

顧名思義,就是因為還有人或者是應用程式還正在連結使用這個資料庫, 所以SQL Server 拒絕讓任何人還原這個資料庫。解決辦法很簡單,就是用sp_who2 找出連線的SPID ( Server Process ID), 然後用kill 指令殺掉這個SPID. 就可以繼續進行資料庫還原的動作了。

如果只有一兩個SPIDs 要kill, 可以慢慢用kill 指令來處理,但若有幾十個或幾百個SPIDs 要kill, 就必須要用比較科學的方法解決。可以使用這個T-SQL 一次搞定kill 所有的SPIDs.

但是,如果遇到一些侵略性很高很黏的連結設定就有點麻煩。當這個連結的SPID 被killed 後,馬上又迅速的自動產生新的連結。根本就沒辦法完全殺乾淨。這個時候,可以拿出殺手鐗,就是找出這個侵略性很高的login,然後停用(disable) 這個login. 讓它沒有辦法在連上資料庫。等到資料庫還原完成後,再啟用(enable) 這個login.

本作品採用《CC 協議》,轉載必須註明作者和本文連結
www88xbocom1717693400

相關文章