自拍偷在线精品自拍偷,亚洲欧美中文日韩v在线观看不卡

如何在SQL Server數(shù)據(jù)庫中完全修復(fù)MDF文件

譯文
數(shù)據(jù)庫 SQL Server
眾所周知,由于數(shù)據(jù)庫文件里存儲了大量重要的信息,因此對于所有用戶來說都是至關(guān)重要的。讓我們一起來了解一下如何通過手動和專業(yè)的方法,修復(fù)那些被損壞的SQL數(shù)據(jù)庫文件吧。

【51CTO.com快譯】引言:眾所周知,由于數(shù)據(jù)庫文件里存儲了大量重要的信息,因此對于所有用戶來說都是至關(guān)重要的。讓我們一起來了解一下如何通過手動和專業(yè)的方法,修復(fù)那些被損壞的SQL數(shù)據(jù)庫文件吧。

如今微軟的SQL Server可謂是最常用的關(guān)系型數(shù)據(jù)庫之一了。鑒于其先進(jìn)的內(nèi)部結(jié)構(gòu)和高可靠性,大多數(shù)組織都選用SQL Server數(shù)據(jù)庫來存儲所有關(guān)鍵業(yè)務(wù)的數(shù)據(jù)。但是有時(shí)候,一些諸如病毒感染、操作系統(tǒng)故障、文件系統(tǒng)損壞之類的狀況會使得SQL數(shù)據(jù)庫受到損壞,以至于存儲在其中的所有數(shù)據(jù)都變得無法訪問。然而,在真實(shí)的場景中,我們在損壞的SQL Server里修復(fù)各種.mdf文件,卻并非是一件容易的事。

一般用戶可以通過手動的方法,來逐步修復(fù)SQL數(shù)據(jù)庫中損壞的MDF文件,但是該方法并不可靠,因?yàn)樗鼰o法保證數(shù)據(jù)能夠被完全地恢復(fù)。不過,也有類似SysTools SQL Recovery這樣的第三方工具,聲稱可以完美的方式修復(fù).mdf文件。

因此在本文中,我們將和您討論修復(fù)受損SQL數(shù)據(jù)庫的最佳解決方法。不過在開始之前,讓我們先來了解一下SQL數(shù)據(jù)庫受損的背后原因。

SQL數(shù)據(jù)庫受損的背后原因

SQL數(shù)據(jù)庫受損的背后原因有許多種。眾所周知,SQL數(shù)據(jù)庫的各個MDF文件其實(shí)是一些主要的數(shù)據(jù)庫文件,它們存儲著所有用戶的數(shù)據(jù),因此任何MDF文件的損壞都可能會導(dǎo)致整個數(shù)據(jù)庫的崩潰。可見,我們需要首先來了解MDF文件受損背后的所有可能原因:

  • MDF文件所在存儲介質(zhì)的損壞。
  • 如果用戶將SQL數(shù)據(jù)庫存儲在一個壓縮的文件夾中,那么MDF文件就可能因此而被損壞。
  • 在某個SQL Server帳號下,所進(jìn)行的任何修改或變更。
  • 某個用戶可能對數(shù)據(jù)進(jìn)行錯誤地刪除。
  • 由于文件頭的損壞,所導(dǎo)致的MDF文件受損。
  • 磁盤驅(qū)動器受損。
  • SQL數(shù)據(jù)庫正在被寫入使用時(shí)發(fā)生了網(wǎng)絡(luò)故障,則可能會導(dǎo)致MDF文件的損壞。
  • 導(dǎo)致MDF文件損壞的其他可能原因還包括:病毒攻擊、硬盤故障、系統(tǒng)異常關(guān)機(jī)和突然斷電等。

因此,如果MDF文件被損壞,那么SQL數(shù)據(jù)庫就會變得不可訪問。另外,如果用戶試圖去訪問已損壞的數(shù)據(jù)庫,則可能會看到一些錯誤提示消息。下面我們列出了一些最常見的錯誤消息:

  • MDF文件所在存儲介質(zhì)的損壞。
  • 如果用戶將SQL數(shù)據(jù)庫存儲在一個壓縮的文件夾中,那么MDF文件就可能因此而被損壞。
  • 元數(shù)據(jù)的損壞錯誤。
  • 用戶可能對數(shù)據(jù)進(jìn)行錯誤地刪除。
  • SQL Server中的Msg 823 / Msg 824 / Msg 825(讀取重試)錯誤。

除此之外,用戶還可能在訪問受損的SQL數(shù)據(jù)庫時(shí),遇到其他類型的錯誤提示??梢姡瑪?shù)據(jù)庫管理員應(yīng)當(dāng)立即采取措施,以防止任何類型的數(shù)據(jù)丟失。

如何手動修復(fù)MDF文件

我們可以用幾種手動的方法來修復(fù)受損的SQL數(shù)據(jù)庫,但是這些手動解決方法是無法保證數(shù)據(jù)庫能被完全恢復(fù)的。

用戶可以使用SQL Server的NDF文件(一些日志文件)來進(jìn)行恢復(fù)。但是在大多數(shù)損壞的案例中,單憑日志文件是不足以恢復(fù)數(shù)據(jù)庫的。因?yàn)橛袝r(shí)候在一些被嚴(yán)重?fù)p壞的情況下,其對應(yīng)的備份文件也同樣遭到了破壞。

另一種可能修復(fù)和復(fù)原受損SQL數(shù)據(jù)庫的方式是使用數(shù)據(jù)庫控制臺命令,例如:DBCC CHECKDB。該命令對于修復(fù)SQL Server數(shù)據(jù)庫中的輕度損壞問題是非常有效的。

用DBCC CHECKDB來修復(fù)受損MDF文件的步驟

首先,您需要在受損的SQL數(shù)據(jù)庫上運(yùn)行DBCC CHECKDB,請執(zhí)行如下的命令:

 

  1. DBCC CHECKDB (Name_of _corrupt _database) 

注意:您也可以為DBCC CHECKDB定義諸如no_infomsgs和infomsgs的選項(xiàng)參數(shù)。

在此之后,您就需要開始檢查索引ID了。

情況1:如果索引ID>1,則立刻丟棄它、并重新創(chuàng)建。

情況2:如果索引ID為0或1,則使用適當(dāng)?shù)男迯?fù)選項(xiàng),如:repair_rebuild、repair_fast或repair_allow_data_loss,來再次運(yùn)行DBCC CHECKDB。

 

  1. DBCC CHECK (name_of_corrupt_database, repair_fast)  
  2. DBCC CHECK (name_of_corrupt_database, repair_rebuild)  
  3. DBCC CHECK (name_of_corrupt_database, repair_allow_data_loss) 

 

至此為確保修復(fù)了所有損壞,請?jiān)俅芜\(yùn)行DBCC CHECKDB。如果在name_of_your_corrupt_database中顯示為0個分配錯誤和0個一致性錯誤,則大功告成。

如果手動方法失敗了呢?

由于其自身的局限性,手動解決方法并不總是萬無一失的。例如,MDF文件被嚴(yán)重?fù)p壞時(shí),手動修復(fù)往往會以失敗而告終。而且,手動解決方法需要用戶有較強(qiáng)的技術(shù)能力。因此,我們建議使用一些可靠的第三方軟件,來修復(fù)受損的SQL數(shù)據(jù)庫。SQL數(shù)據(jù)庫恢復(fù)程序(SQL Database Recovery Program)是一款最佳的實(shí)用程序,它可以修復(fù)MDF文件中任何類型的損壞問題。

SQL恢復(fù)工具能夠同時(shí)修復(fù)MDF和NDF兩種受損的SQL數(shù)據(jù)庫文件。它是一款無風(fēng)險(xiǎn)的軟件,可以恢復(fù)存儲在各種表格、規(guī)則、觸發(fā)器、以及函數(shù)中的所有數(shù)據(jù)項(xiàng)。除此之外,您只需點(diǎn)擊幾次該軟件,便可完成數(shù)據(jù)庫的修復(fù),而絕不浪費(fèi)任何時(shí)間。

修復(fù)受損MDF文件的具體步驟

下載并在本地機(jī)器上運(yùn)行SQL恢復(fù)程序。

 SysTools SQL恢復(fù)工具

在此之后,您可以通過定位,來選擇并打開受損的SQL數(shù)據(jù)庫文件(.mdf文件)。

 選擇損壞的MDF文件

選擇掃描模式,然后單擊確定

 掃描模式

該工具將會為您提供一個存儲在受損MDF文件中的數(shù)據(jù)項(xiàng)的預(yù)覽。

 查看MDF文件

點(diǎn)擊導(dǎo)出,以保存要恢復(fù)的數(shù)據(jù)庫。

 導(dǎo)出MDF數(shù)據(jù)庫

結(jié)論

由于數(shù)據(jù)庫文件里存儲了大量重要的信息,因此對于所有用戶來說都是至關(guān)重要的。然而SQL數(shù)據(jù)庫中任何類型的損壞問題,都可能會給用戶造成巨大的麻煩。為了應(yīng)對和克服各種可能出現(xiàn)的問題,我們通過上述的討論,向您提供了運(yùn)用手動和專業(yè)的解決方法,來修復(fù)那些受損的SQL數(shù)據(jù)庫文件。

原文標(biāo)題:How to Repair MDF Files in SQL Server Database,作者:John Walker

【51CTO譯稿,合作站點(diǎn)轉(zhuǎn)載請注明原文譯者和出處為51CTO.com】

責(zé)任編輯:龐桂玉 來源: 51CTO
相關(guān)推薦

2011-08-03 14:50:26

SQL Server數(shù)Visual Stud.MDF數(shù)據(jù)庫文件

2011-03-11 13:26:23

SQL Server數(shù)導(dǎo)入數(shù)據(jù)

2023-09-05 00:06:45

2010-07-15 17:28:50

SQL Server

2011-03-02 17:41:28

2011-03-18 09:48:32

2010-07-15 15:37:13

SQL Server數(shù)

2011-03-15 09:55:07

SQL Server2數(shù)據(jù)庫崩潰還原數(shù)據(jù)庫

2011-04-15 09:47:50

2011-07-28 11:44:46

SQL Server數(shù)合并表格數(shù)據(jù)

2011-03-24 11:14:46

2011-03-15 09:52:40

SQL Server2數(shù)據(jù)庫恢復(fù)系統(tǒng)

2011-03-30 13:24:23

SQL Server數(shù)故障修復(fù)

2010-03-26 09:46:32

SQL Server

2010-07-01 15:02:29

SQL Server數(shù)

2015-10-30 14:00:33

adosybaseodbc

2010-10-19 14:19:07

SQL Server恢

2010-07-08 11:05:14

SQL Server數(shù)

2011-04-13 14:58:16

Oracle數(shù)據(jù)庫刪除

2009-06-03 10:51:59

連接SQL數(shù)據(jù)庫Adobe Dream
點(diǎn)贊
收藏

51CTO技術(shù)棧公眾號