MS SqL2000 資料庫置疑狀態的解決方法

2021-05-21 19:10:16 字數 3434 閱讀 9191

對資料庫進行修復                                 

sp_configure 'allow updates',1

reconfigure with override

update sysdatabases set status=32768 where name='cotbase12009'

sp_dboption 'cotbase12009','single user','true'

dbcc checkdb('cotbase12009')

update sysdatabases set status=28 where name='cotbase12009'

sp_configure 'allow updates',0

reconfigure with override

sp_dboption 'cotbase12009','single user','false'

sql2000中msdb資料庫置疑狀態的解決方法

問題:我的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.ok00

0(請您對文章做出評價)

MSSQL2000資料型別

長度 定長變長 變長時該長度為最大長度 定長時該長度一定要滿足該長度的大小。字元型別中的var是變長的 字元 位元組 統一編碼用雙位元組結構來儲存每個字元,而不是用單位元組 普通文字中的情況 sql字元類的資料型別中有個n開頭的型別是統一編碼的 mssql中要指定長度的資料型別有char,varch...

MSSQL 2000 資料庫的安裝與配置 方法

雙擊執行mssql 2000進行安裝 選擇本地計算機 建立新的 sql 例項 選擇伺服器和客戶端工具,這樣我們在一台機子上就可以進行測試了 例項名,選擇預設即可。更改 mssql 的安裝路徑 使用本地帳戶 微軟推薦域使用者帳戶。驗證模式,選擇混合模式,並為 sa 設定乙個密碼 接下去就是安裝複製檔案...

SQL SERVER 2000資料庫置疑處理

由於伺服器意外的斷電,導致sql server伺服器上資料庫出現 置疑 而無法使用,通過網上搜尋,找到以下方法解決問題,這裡記錄一下 產生資料庫置疑的時侯,資料庫檔案和日誌檔案都是存在的,如果資料庫檔案都不存在了,則要另當處理。1 停止資料庫伺服器,將資料庫mdf檔案和ldf檔案複製備份乙份 2 啟...