只有mdf文件的數(shù)據(jù)庫附加失敗的修復方法分享(置疑、只讀)
發(fā)布日期:2022-01-19 15:27 | 文章來源:gibhub
附加時報如下錯誤:
服務器: 消息 1813,級別 16,狀態(tài) 2,行 1
未能打開新數(shù)據(jù)庫 'test'。CREATE DATABASE 將終止。
設備激活錯誤。物理文件名 "d:\data\test_log.LDF' 可能有誤。
步驟:
A、用“企業(yè)管理器”新建一個同名的數(shù)據(jù)??梢孕薷哪J路徑,為表述方便,我使用D:\data\,數(shù)據(jù)文件名test.mdf,日志文件名test_log.ldf
B、停止SQL服務
C、刪除test_log.ldf文件,將新建的test.mdf文件用舊的test.mdf文件替換。
D、啟動SQL服務。進入企業(yè)管理器后發(fā)現(xiàn)test數(shù)據(jù)顯示為“置疑”,此后保證無人連接上此數(shù)據(jù)庫,并不做任何操作。
E、設置test數(shù)據(jù)庫允許直接操作系統(tǒng)表。此操作可以在SQL Server Enterprise Manager里面選擇數(shù)據(jù)庫服務器,按右鍵,選擇“屬性”,在“服務器設置”頁面中將“允許對系統(tǒng)目錄直接修改”一項選中。也可以使用如下語句來實現(xiàn)。我在實際操作的時候沒有使用命令,命令方式大家可以自己測試 ^_^
復制代碼 代碼如下:
use master
go
sp_configure 'allow updates',1
go
reconfigure with override
go
F、設置test數(shù)據(jù)庫為緊急修復模式。在查詢分析器中執(zhí)行如下語句:update sysdatabases set status=-32768 where dbid=DB_ID('test')
復制代碼執(zhí)行后在企業(yè)管理器中刷新后會發(fā)現(xiàn)ttdb數(shù)據(jù)庫顯示為“只讀\置疑\脫機\緊急模式”??梢钥吹綌?shù)據(jù)庫里面的表,但是僅僅有系統(tǒng)表。
G、重建數(shù)據(jù)庫日志文件。在查詢分析器中執(zhí)行如下語句:
復制代碼 代碼如下:
dbcc rebuild_log('test','d:\Data\test_log.ldf')
執(zhí)行之前必須退出企業(yè)管理器,并且沒有人連接些數(shù)據(jù)庫。否則會報如下錯誤:
服務器: 消息 5030,級別 16,狀態(tài) 1,行 1
未能排它地鎖定數(shù)據(jù)庫以執(zhí)行該操作。
DBCC 執(zhí)行完畢。如果 DBCC 輸出了錯誤信息,請與系統(tǒng)管理員聯(lián)系。
正常的消息:
警告: 數(shù)據(jù)庫 'test' 的日志已重建。已失去事務的一致性。應運行 DBCC CHECKDB 以驗證物理一致性。將必須重置數(shù)據(jù)庫選項,并且可能需要刪除多余的日志文件。
DBCC 執(zhí)行完畢。如果 DBCC 輸出了錯誤信息,請與系統(tǒng)管理員聯(lián)系。
此時打開在SQL Server Enterprise Manager里面會看到數(shù)據(jù)庫的狀態(tài)為“只供DBO使用”??梢栽L問數(shù)據(jù)庫里面的用戶表了。
H、驗證數(shù)據(jù)庫一致性(可省略,不過我忠實地執(zhí)行了^_^),查詢分析器中執(zhí)行:
復制代碼 代碼如下:
dbcc checkdb('test')
報出了每個表的執(zhí)行情況后,最后報:
CHECKDB 發(fā)現(xiàn)了 0 個分配錯誤和 0 個一致性錯誤(在數(shù)據(jù)庫 'test' 中)。
DBCC 執(zhí)行完畢。如果 DBCC 輸出了錯誤信息,請與系統(tǒng)管理員聯(lián)系。
I、設置數(shù)據(jù)庫為正常狀態(tài)。執(zhí)行語句:
復制代碼 代碼如下:
sp_dboption 'test','dbo use only','false'
走到這一步,如果沒有報錯,已經(jīng)可以長長舒一口氣了,去喝口水吧。:P
J、最后一步,我們要將步驟E中設置的“允許對系統(tǒng)目錄直接修改”一項恢復。怎么做當然不用再多說啦。也可以執(zhí)行語句:
復制代碼 代碼如下:
sp_configure 'allow updates',0
go
reconfigure with override
go
版權聲明:本站文章來源標注為YINGSOO的內容版權均為本站所有,歡迎引用、轉載,請保持原文完整并注明來源及原文鏈接。禁止復制或仿造本網(wǎng)站,禁止在非maisonbaluchon.cn所屬的服務器上建立鏡像,否則將依法追究法律責任。本站部分內容來源于網(wǎng)友推薦、互聯(lián)網(wǎng)收集整理而來,僅供學習參考,不代表本站立場,如有內容涉嫌侵權,請聯(lián)系alex-e#qq.com處理。
相關文章
關注官方微信