很多數(shù)據(jù)恢復(fù)工程師包括一些數(shù)據(jù)恢復(fù)技術(shù)愛好者經(jīng)常會問同樣一個問題:“數(shù)據(jù)一旦被覆蓋了,還能不能恢復(fù)呀?這種問題困惑很多人,也困惑很多年,到現(xiàn)在也沒有人能夠證實!下面,就由我們鄭州北大青鳥學(xué)校的IT專家來給大家分析下:如何恢復(fù)MSSQL數(shù)據(jù)庫!
1.我們以一個實際的數(shù)據(jù)恢復(fù)案例來講解
實際環(huán)境:在Windows 2003 Server操作系統(tǒng)下,采用NTFS分區(qū)類型,裝了一個MS SQL Server 2005數(shù)據(jù)庫,一共有10個數(shù)據(jù)庫在用,其中有一個數(shù)據(jù)名稱是xiangmu01,對應(yīng)兩個物理文件xiangmu01.mdf和xiangmu01.ldf,這個數(shù)據(jù)庫使用有兩年多時間,xiangmu01.mdf大小有18GB,xiangmu01.ldf大小有30GB,存放路徑為d:\database\.
數(shù)據(jù)丟失過程:某個粗心的工程師在使用服務(wù)器時,從MS SQL Server企業(yè)管理器中創(chuàng)建了一個新的數(shù)據(jù)庫,名稱為xiangmu001,創(chuàng)建時使用默認(rèn)存儲路徑,默認(rèn)路徑把數(shù)據(jù)庫xiangmu001的物理文件創(chuàng)建在了C盤的MS SQL Server安裝路徑上,他及時發(fā)現(xiàn),想把數(shù)據(jù)xiangmu001刪除了,重新創(chuàng)建,把物理文件存放到d:\database\下,災(zāi)難就在這一步降臨,錯誤的把xiangmu01數(shù)據(jù)庫刪除了,然后再創(chuàng)建xiangmu001數(shù)據(jù)庫,把物理文件路徑更改成d:\database\,企業(yè)管理器出現(xiàn)提示“該數(shù)據(jù)庫名稱已經(jīng)存在”,停下來檢查,腦袋嗡的一聲“刪錯了數(shù)據(jù)庫!”。
這個時候工程師想的第一件事就是找備份來還原!還原的步驟是,先創(chuàng)建xiangmu01數(shù)據(jù)庫,物理文件名稱和路徑跟原來數(shù)據(jù)庫一樣,于是在d:\database\下由于刪除xiangmu01數(shù)據(jù)庫丟失掉的兩個物理文件xiangmu01.mdf和xiangmu01.ldf,又出現(xiàn)在d:\database\目錄下,按照數(shù)據(jù)恢復(fù)行業(yè)詞匯就是“同名覆蓋”。創(chuàng)建好了新的xiangmu01數(shù)據(jù)庫,就用xiangmu01.bak來還原,禍不單行,這個xiangmu01.bak文件是壞的,還原不了。
2.數(shù)據(jù)恢復(fù)是否有可能?
就這個案例而言,數(shù)據(jù)恢復(fù)成功的可能性到底有沒有?根據(jù)不同的數(shù)據(jù)恢復(fù)公司,接到這樣的數(shù)據(jù)恢復(fù)案例,會有如下3種處理情況:(1)直接認(rèn)為要恢復(fù)的數(shù)據(jù)發(fā)生了“同名覆蓋”,起碼數(shù)據(jù)庫文件頭部被破壞,不可恢復(fù)!(2)會按照數(shù)據(jù)庫mdf文件類型對整個分區(qū)進行掃描,提取出若干個mdf文件,挨個去驗證,看看有沒有好的.(3)嘗試按照MS SQL Server數(shù)據(jù)庫頁面碎片對整個分區(qū)進行掃描,因為數(shù)據(jù)庫比較多,數(shù)據(jù)庫頁面碎片個數(shù)非常多,如果再加上對NTFS文件系統(tǒng)結(jié)構(gòu)的熟悉了解,在掃描數(shù)據(jù)庫頁面碎片的時候,排除掉當(dāng)前分區(qū)中正常存在的mdf文件的頁面信息,單獨提取硬盤分區(qū)NTFS文件系統(tǒng)中正常情況下不存放數(shù)據(jù)區(qū)域的數(shù)據(jù)庫頁面碎片,就是丟失掉的或者以前曾經(jīng)存放過的mdf文件內(nèi)容。
經(jīng)過了以上北大青鳥鄭州翔天信鴿IT培訓(xùn)學(xué)校IT專家的介紹,我們得知,被覆蓋或者勿刪的數(shù)據(jù)庫是可以恢復(fù)的,即使這樣,我們以后還要養(yǎng)成經(jīng)常備份MSSQL數(shù)據(jù)庫的習(xí)慣,以免出現(xiàn)意想不到的后果。
本文源自: http://m.customercarejob.com/xsjl/ 若有轉(zhuǎn)載請注明出處!