mssqlserver中數(shù)據(jù)庫變?yōu)榭梢?/p>
本機數(shù)據(jù)庫是mssqlserver,里面有個數(shù)據(jù)庫存的幾千萬條數(shù)據(jù),今天在執(zhí)行一個查詢過程中忽然想到語句要改一下,于是就點擊了“取消執(zhí)行查詢”按鈕,結果數(shù)據(jù)庫名稱變?yōu)榱恕皵?shù)據(jù)庫名稱(可疑)”,并且無法打開數(shù)據(jù)庫,這可嚇壞了!
經過搜索,發(fā)現(xiàn)有前人已給出了解決方法,逐步按照執(zhí)行后又可以正常使用了,現(xiàn)將該方法分享給大家:
1、首先修改數(shù)據(jù)庫為緊急模式
ALTER DATABASE 數(shù)據(jù)庫名稱 SET EMERGENCY
2、使數(shù)據(jù)庫變?yōu)閱斡脩裟J?/p>
ALTER DATABASE 數(shù)據(jù)庫名稱 SET SINGLE_USER
3、修復數(shù)據(jù)庫日志重新生成,此命令檢查的分配,結構,邏輯完整性和所有數(shù)據(jù)庫中的對象錯誤。當您指定“REPAIR_ALLOW_DATA_LOSS”作為DBCC CHECKDB命令參數(shù),該程序將檢查和修復報告的錯誤。但是,這些修復可能會導致一些數(shù)據(jù)丟失。
DBCC CheckDB (數(shù)據(jù)庫名稱, REPAIR_ALLOW_DATA_LOSS)
此過程中可能會出現(xiàn)許多錯誤提示,同時也會丟失一些數(shù)據(jù)。
4、使數(shù)據(jù)庫變回為多用戶模式
ALTER DATABASE 數(shù)據(jù)庫名稱SET MULTI_USER
5、停止并重啟mssqlserver服務
下一篇:MySQL 數(shù)據(jù)庫“十宗罪”(十大經典錯誤案例)