問題:我的sql server 2000的msdb資料庫,因為不正常關機,造成了置疑狀態,請問採用什麼方法能夠彌補?
解決方法一:你可以採用以下的**進行修復:
use master
gosp_configure 'allow updates',1
reconfigure with override
goupdate sysdatabases set status =32768 where name='msdb'
gosp_dboption 'msdb', 'single user', 'true'
godbcc checkdb('msdb')
goupdate sysdatabases set status =28 where name='msdb'
gosp_configure 'allow updates', 0
reconfigure with override
go sp_dboption 'msdb', 'single user', 'false'
go解決方法二:
msdb資料庫解決過程
難點:由於msdb資料庫不能刪除,將其檔案拷出來,再次附加資料庫,但新的附加資料庫不能叫msdb,也就是不能同名,遇到了困難。
1:先停止整個資料庫,將該資料庫的檔案msdbdata.mdf和msdblog.ldf拷貝貼上出來到另乙個目錄下。
2:將以上的檔案再拷貝到另乙個目錄下,也就是說複製兩次。
3:選擇 資料庫右擊滑鼠 --》所有任務--》附加資料庫 將複製出的乙個備份檔案附加上去,其中,資料庫名稱叫msdb1,使用者是sa或administrator。
4:將msdb1資料庫備份,備份成乙個檔案,當時我的叫msdb。bak。
5:選擇置疑的資料庫msdb,選擇恢復資料庫,將剛才備份出來的資料庫強行恢復到msdb。
6:問題解決,msdb庫又能正常使用。
完成後趕快將資料庫再次備份一次。呵呵。
另附:資料庫置疑解決辦法
第一次遇到資料庫質疑這樣的問題,把我給嚇壞了,重要資料啊~~大家知道為什麼會發生這種情況麼?是不是不正常關機的情況下會發生這種情況?
還有,現在修復好了,但昨天的資料丟失了,以前的資料倒還在。難道昨天發生了什麼異常情況?
sql server資料庫置疑後恢復步驟
1. 恢復步驟:
a.將smlog_log.ldf檔案備份到其它目錄下;
b.將源目錄下的smlog_log.ldf檔案改名為smlog_log_bak.ldf;
c.執行以下語句修改資料庫的狀態:
use master
go update sysdatabases set status=32768 where name=』資料庫名稱』 --修改狀態
go shutdown with nowait --停止資料庫伺服器
go d.退出sql並在命令列模式中通過下面的**重新啟動sql:
sqlservr -c -t3608 -t4022 --安全模式啟動sql server
e.在查詢分析器中執行以下語句來檢視剛剛修改過狀態的資料庫狀態:
select name,status from sysdatabases where name=』 資料庫名稱』
f.執行以下**新建日誌檔案:
dbcc traceon(3604) --跟蹤
dbcc rebuild_log(『資料庫名稱』,』日誌檔名稱』) --檔名要有全路徑和副檔名
g.將資料庫置回正常狀態:
update sysdatabases set status=0 where name=』資料庫名稱』
h.重新啟動資料庫後執行以下語句檢查資料庫:
dbcc checkdb --如果執行完有錯誤用以下語句修復
i.要修復資料庫必需將資料庫改為單使用者模式:
exce sp_dboption 『資料庫名稱』,』single user』,』true』(『false』恢復多使用者)
j.執行以下語句修復資料庫:
dbcc checkdb(『資料庫名稱』,repair_allow_data_loss)
repair_allow_data_loss:是比較高階的修復方式
repair_fast:是簡單快速的修復方式
相似問題:系統重灌,忘記了備份sql,然後又通過資料恢復工具找回了mcdb_data.mdf 和mcdb_log.ldf,在企業管理器上用附加資料庫時提示錯誤9004,日誌錯誤,在網上找了諸多方法,也試過建個同名空資料庫然後停止sql server然後覆蓋掉mdf。但多不行,哪個大哥救救
這是詳細步驟.
1.先建乙個與你要恢復的資料庫名稱一樣的資料庫。
2.停止sql server,把你的資料庫替換這個資料庫。
3.重啟sql server,把資料庫設定為緊急狀態。
sp_configure 'allow',1
reconfigure with overirde
update sysdatabases set status=32768 where name='yourdata'
4.重建日誌檔案。
dbcc rebuild_log('yourdata','your data path\newdata_log.ldf')
5.取消緊急模式。
update sysdatabases set status=0 where name='yourdata'
restore sysdatabases yourdata with recovery
sp_configure 'allow',0
reconfigure with override
6.重起sql server
7.ok
MSDB資料庫置疑的解決方法
機房停電,伺服器非法關機,導致msdb資料庫被 置疑 msdb 資料庫供sqlserver 程式排程警報和作業以及記錄操作員時使用。比如,我們備份了乙個資料庫,會在表backupfile中插入一條記錄,以記錄相關的備份資訊。由於msdb資料庫並未儲存特別重要的資訊,因此可以從別的機器拷貝乙份相同的m...
SQL資料庫msdb置疑(急)
答案一 假設 kmjx 為被置疑的資料庫。答案二 lddl單位的sql2000的msdb資料庫,因為不正常關機,成了置疑狀態,怎麼弄都不行,後在網上查到以下的修復 use master gosp configure allow updates 1 reconfigure with override ...
MS SqL2000 資料庫置疑狀態的解決方法
對資料庫進行修復 sp configure allow updates 1 reconfigure with override update sysdatabases set status 32768 where name cotbase12009 sp dboption cotbase12009 ...