SQL日志文件损坏或丢失造成数据库置疑的解决办法
生活随笔
收集整理的這篇文章主要介紹了
SQL日志文件损坏或丢失造成数据库置疑的解决办法
小編覺得挺不錯(cuò)的,現(xiàn)在分享給大家,幫大家做個(gè)參考.
前言
這篇文章在我電腦上呆得太久了,也不知道還有沒有用。。
正如電影里那句話:“武功不用是會(huì)貶值的! ”
其實(shí)知識(shí)也是一樣的。。
本文內(nèi)容在SQL2000下測(cè)試通過
情況1:數(shù)據(jù)庫在使用過程中,因停電、軟硬件故障等原因,導(dǎo)致數(shù)據(jù)庫出現(xiàn) “置疑”
情況2:數(shù)據(jù)庫文件并沒有使用,日志文件(.LDF)損壞或者丟失
解決方法:
1、新建一個(gè)數(shù)據(jù)庫
2、停止SQL服務(wù),將要使用的數(shù)據(jù)庫文件,替換掉剛才新建的數(shù)據(jù)庫文件
3、開啟SQL服務(wù),輸入下面的代碼:(執(zhí)行前,請(qǐng)先修改 數(shù)據(jù)庫名、路徑)。
use master go sp_configure 'allow updates', 1 --調(diào)用存儲(chǔ)過程sp_configure,將allow屬性設(shè)置為1reconfigure with override --變成可以覆蓋寫update sysdatabases set status= 32768 where name = '數(shù)據(jù)庫名' --更新sysdatabases表,將status的值設(shè)置為32768 ,條件是name='數(shù)據(jù)庫名' DBCC REBUILD_LOG ('數(shù)據(jù)庫名', 'Z:\data\數(shù)據(jù)庫新日志名.LDF') --重建日志,選重命名原數(shù)據(jù)庫日志 update sysdatabases set status =28 where name='數(shù)據(jù)庫名' --更新sysdatabases表,將status的值設(shè)置為28 ,條件是name='數(shù)據(jù)庫名' go sp_configure 'allow updates',0 --調(diào)用存儲(chǔ)過程sp_configure,將allow屬性設(shè)置為0 go sp_dboption '數(shù)據(jù)庫名','single user','true' --設(shè)置數(shù)據(jù)庫為單用戶模式 go DBCC CHECKDB(數(shù)據(jù)庫名) --檢查數(shù)據(jù)庫錯(cuò)誤DBCC CheckDB(數(shù)據(jù)庫名,REPAIR_ALLOW_DATA_LOSS) --修復(fù)數(shù)據(jù)庫錯(cuò)誤 一致性錯(cuò)誤DBCC CheckDB(數(shù)據(jù)庫名) --檢查數(shù)據(jù)庫 go sp_dboption '數(shù)據(jù)庫名','single user','false' --還原數(shù)據(jù)庫為多用戶模式總結(jié)
以上是生活随笔為你收集整理的SQL日志文件损坏或丢失造成数据库置疑的解决办法的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: [CTF][Web][PHP][Java
- 下一篇: 关灯看视频(Turn Off the L