mssqlserver中數(shù)據(jù)庫變?yōu)榭梢?/p>
本機數(shù)據(jù)庫是mssqlserver,里面有個數(shù)據(jù)庫存的幾千萬條數(shù)據(jù),今天在執(zhí)行一個查詢過程中忽然想到語句要改一下,于是就點擊了“取消執(zhí)行查詢”按鈕,結(jié)果數(shù)據(jù)庫名稱變?yōu)榱恕皵?shù)據(jù)庫名稱(可疑)”,并且無法打開數(shù)據(jù)庫,這可嚇壞了!
經(jīng)過搜索,發(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、修復(fù)數(shù)據(jù)庫日志重新生成,此命令檢查的分配,結(jié)構(gòu),邏輯完整性和所有數(shù)據(jù)庫中的對象錯誤。當(dāng)您指定“REPAIR_ALLOW_DATA_LOSS”作為DBCC CHECKDB命令參數(shù),該程序?qū)z查和修復(fù)報告的錯誤。但是,這些修復(fù)可能會導(dǎo)致一些數(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服務(wù)
下一篇:MySQL 數(shù)據(jù)庫“十宗罪”(十大經(jīng)典錯誤案例)