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