了解最新公司動態(tài)及行業(yè)資訊
工作日數(shù)據(jù)-供參考
備份數(shù)據(jù)庫有兩種方式,一種是備份數(shù)據(jù)庫文件,另一種是直接拷貝數(shù)據(jù)庫文件mdf和日志文件ldf。下面將主要討論后者的備份和恢復(fù)。本文假設(shè)您熟練使用(企業(yè)管理器)和呃(查詢分析器)
1、普通備份和SQL數(shù)據(jù)庫恢復(fù)方法
在普通模式下,當我們要備份數(shù)據(jù)庫時,必須先斷開數(shù)據(jù)庫與正在運行的數(shù)據(jù)服務(wù)器的連接,或者停止整個數(shù)據(jù)庫服務(wù)器,然后再復(fù)制文件。
刪除數(shù)據(jù)庫的命令:數(shù)據(jù)庫名稱
連接數(shù)據(jù)庫的命令:或e_db
[@=]′′,[@=]′′[,...16]
e_db[@=]′′,[@=]′′
使用此方法可以正確恢復(fù).0和.0的數(shù)據(jù)庫文件。重點是備份的時候mdf和ldf文件都要備份。 mdf文件為數(shù)據(jù)庫數(shù)據(jù)文件,ldf為數(shù)據(jù)庫日志文件。
例子:
假設(shè)數(shù)據(jù)庫是test,它的數(shù)據(jù)文件是.mdf,它的日志文件是.ldf。讓我們討論如何備份和恢復(fù)數(shù)據(jù)庫。
卸載數(shù)據(jù)庫:'test'
連接數(shù)據(jù)庫:'test','C:\MSSQLData.mdf','C:\MSSQLData.ldf'
e_db'test','C:\MSSQLData.mdf'
2、只有 mdf 文件的恢復(fù)技術(shù)
由于種種原因,如果我們當時只備份mdf文件,恢復(fù)起來會很麻煩。
如果你的mdf文件是當前數(shù)據(jù)庫生成的,那么幸運的是,也許你可以使用or e_db來恢復(fù)數(shù)據(jù)庫,但是會出現(xiàn)類似下面的提示信息
設(shè)備激活錯誤。物理文件名 'C:\MSSQLdata.LDF' 可能有誤。
已創(chuàng)建名為“C:\MSSQLData.LDF”的新日志文件。
但是,如果您的數(shù)據(jù)庫文件是從另一臺計算機上復(fù)制的,那么很遺憾,上述解決方案可能不起作用。您可能會收到類似于以下的錯誤消息
服務(wù)器:消息 1813武漢數(shù)據(jù)恢復(fù),級別 16,狀態(tài) 2,第 1 行
無法打開新數(shù)據(jù)庫“測試”。將終止。
設(shè)備激活錯誤。物理文件名 'd:.LDF' 可能有誤。
怎么辦?不用擔(dān)心,這里有一個如何恢復(fù)的示例。
A.我們使用默認的方法創(chuàng)建一個數(shù)據(jù)庫(例如test)進行恢復(fù)。可以內(nèi)建。
B.停止數(shù)據(jù)庫服務(wù)器。
C.刪除剛剛生成的數(shù)據(jù)庫的日志文件.ldf,用要恢復(fù)的數(shù)據(jù)庫mdf文件覆蓋剛剛生成的數(shù)據(jù)庫數(shù)據(jù)文件.mdf。
D.啟動數(shù)據(jù)庫服務(wù)器。此時,您將看到數(shù)據(jù)庫測試的狀態(tài)為“可疑”。目前無法對該數(shù)據(jù)庫執(zhí)行任何操作。
E.設(shè)置數(shù)據(jù)庫允許直接操作系統(tǒng)表。對于此操作,可以選擇其中的數(shù)據(jù)庫服務(wù)器,右鍵單擊,選擇“屬性”,在“服務(wù)器設(shè)置”頁面中選擇“允許直接修改系統(tǒng)目錄”。也可以使用下面的語句來實現(xiàn)。
去
'',1
去
想法
去
F。將測試設(shè)置為緊急修復(fù)模式
=-=DB_ID('test')
此時可以看到數(shù)據(jù)庫處于“只讀懷疑離線緊急模式”,可以看到數(shù)據(jù)庫中的表,但只能看到系統(tǒng)表
G.下面進行實際的恢復(fù)操作,重建數(shù)據(jù)庫日志文件
('test','C:\MSSQLData.ldf')
執(zhí)行過程中,如果遇到如下提示:
服務(wù)器:消息 5030,級別 16,狀態(tài) 1,第 1 行
無法為此操作獨占鎖定數(shù)據(jù)庫。
DBCC 執(zhí)行完成。如果 DBCC 輸出錯誤信息,請聯(lián)系您的系統(tǒng)管理員。
表示您的其他程序正在使用此數(shù)據(jù)庫。如果只是使用了步驟F中打開測試庫的系統(tǒng)表,可以退出。
警告:數(shù)據(jù)庫“test”的日志已重建。事務(wù)一致性已丟失。應(yīng)運行以驗證物理一致性。必須重置數(shù)據(jù)庫選項,并且可能需要刪除多余的日志文件。
DBCC 執(zhí)行完成。如果 DBCC 輸出錯誤信息,請聯(lián)系您的系統(tǒng)管理員。
這時候打開,會看到數(shù)據(jù)庫的狀態(tài)是“only for DBO”。至此,就可以訪問數(shù)據(jù)庫中的用戶表了。
H.驗證數(shù)據(jù)庫一致性(可選)
('測試')
一般執(zhí)行結(jié)果如下:
發(fā)現(xiàn) 0 個分配錯誤和 0 個一致性錯誤(在數(shù)據(jù)庫“測試”中)。
DBCC 執(zhí)行完成。如果 DBCC 輸出錯誤信息,請聯(lián)系您的系統(tǒng)管理員。
我。將數(shù)據(jù)庫設(shè)置為正常狀態(tài)
'測試','','假'
如果沒有錯誤,那么恭喜你武漢數(shù)據(jù)恢復(fù),現(xiàn)在可以正常使用恢復(fù)的數(shù)據(jù)庫了。
J。最后一步,我們需要恢復(fù)步驟E中設(shè)置的“允許直接修改系統(tǒng)目錄”。因為直接操作表通常是比較危險的事情。當然我們可以在里面恢復(fù),或者用下面的語句來完成
'',0
去
想法
去