sqlserver数据库置疑处理
本文例舉數(shù)據(jù)庫(kù)名為:ICYQSHSF
server2000:
修復(fù)前準(zhǔn)備
1、停掉server服務(wù),備份數(shù)據(jù)庫(kù)文件(MDF和LDF文件);
2、重啟server服務(wù),刪除置疑的庫(kù),新建一個(gè)同名的庫(kù)(新建時(shí)留意數(shù)據(jù)庫(kù)文件路徑);
3、停掉server服務(wù),將備份的MDF、LDF文件拷貝到新建庫(kù)的路徑下,先修改新建庫(kù)的MDF、LDF和拷貝過來的LDF文件名,再重命名拷貝過來的MDF文件為新建庫(kù)MDF文件修改前的名稱;
4、重啟server服務(wù),并執(zhí)行修復(fù)語(yǔ)句:
sp_configure?? 'allow',?? 1?? reconfigure?? with?? override
RECONFIGURE WITH OVERRIDE
update?? sysdatabases?? set?? status?? =?? 32768?? where?? name?? =?? 'ICYQSHSF'??
DBCC?? REBUILD_LOG? ('ICYQSHSF','D:\XXXX\XXXX\ICYQSHSFLOG.LDF')? ?//路徑為新建庫(kù)的路徑,把原LDF文件改名再執(zhí)行該語(yǔ)句
update?? sysdatabases?? set?? status? = 0?? where?? name = 'ICYQSHSF'?
restore?? database?? ICYQSHSF?? WITH?? RECOVERY??
sp_configure?? 'allow',?? 0??
reconfigure?? with?? override ?
sp_dboption 'ICYQSHSF','single user',true
dbcc checkdb('ICYQSHSF',repair_allow_data_loss)? //檢查過程中會(huì)報(bào)錯(cuò),但隨即會(huì)進(jìn)行修復(fù),第一次執(zhí)行后可再次執(zhí)行看還有沒有報(bào)錯(cuò)
sp_dboption 'ICYQSHSF','single user',false
DBCC CHECKDB
?
SQL2008:
ALTER DATABASE ICYQSHSF SET EMERGENCY? --1、修改數(shù)據(jù)庫(kù)為緊急模式
ALTER DATABASE ICYQSHSF SET SINGLE_USER --2、使數(shù)據(jù)庫(kù)變?yōu)閱斡脩裟J?/p>
DBCC CheckDB (ICYQSHSF, REPAIR_ALLOW_DATA_LOSS) --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ù)丟失。
ALTER DATABASE ICYQSHSF SET MULTI_USER? --4、使數(shù)據(jù)庫(kù)變回為多用戶模式
總結(jié)
以上是生活随笔為你收集整理的sqlserver数据库置疑处理的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: [dp]leetcode 746. Mi
- 下一篇: linux cmake编译源码,linu