IT貓撲網(wǎng):您身邊最放心的安全下載站! 最新更新|軟件分類|軟件專題|手機版|論壇轉(zhuǎn)貼|軟件發(fā)布

您當(dāng)前所在位置:首頁數(shù)據(jù)庫MSSQL → SQL Server災(zāi)難恢復(fù):重創(chuàng)歷史性數(shù)據(jù)

SQL Server災(zāi)難恢復(fù):重創(chuàng)歷史性數(shù)據(jù)

時間:2015/6/28來源:IT貓撲網(wǎng)作者:網(wǎng)管聯(lián)盟我要評論(0)

  這是我希望你永遠不要面對的一個任務(wù):永遠都不需要重新創(chuàng)建不同時間點上的數(shù)據(jù),以此來澄清一個可疑的動作或則和揭示損失或者被偷的數(shù)據(jù)。大多數(shù)的數(shù)據(jù)庫都在核心數(shù)據(jù)層上存儲數(shù)據(jù),上面只為終端用戶和數(shù)據(jù)庫管理員顯示數(shù)據(jù)的最近狀態(tài)。這就意味著你只能看到最新版本的數(shù)據(jù),你無法識別在數(shù)據(jù)生命周期中不同時間點上特定數(shù)據(jù)的下落。

  作為一個數(shù)據(jù)庫管理員和顧問,我見到許多的數(shù)據(jù)庫只存儲當(dāng)前的數(shù)據(jù)快照,而不是數(shù)據(jù)在其生命周期中發(fā)生變化的每個歷史時期的數(shù)據(jù)行。在大多數(shù)情況下,這對于數(shù)據(jù)庫來說都是不錯的,因為每個事務(wù)的一次迭代都會讓你的數(shù)據(jù)庫的規(guī)模比現(xiàn)在的尺寸大上100到1000倍。這是因為它需要保證數(shù)據(jù)庫處在可管理的層面上,歷史性的數(shù)據(jù)行通常不會存儲,因此不容易重新創(chuàng)建。

  金融行業(yè)則采用了相反的方式。不僅僅是存儲數(shù)據(jù)的最近狀態(tài),它還存儲了發(fā)生的每個事務(wù),并且將條目還原到變化之前。這個方式意味著數(shù)據(jù)被寫入,但是它永遠不會發(fā)生變化。任何的歷史時間點都可以輕松地顯示出來,需要重新創(chuàng)建數(shù)據(jù)等其他操作。從純粹的感覺出發(fā),檢索金融數(shù)據(jù)的變更并不像你存儲在數(shù)據(jù)庫中的其他數(shù)據(jù)那么頻繁。就是說,你應(yīng)該調(diào)查一下你需要檢索哪些歷史數(shù)據(jù),以及那些類型的數(shù)據(jù)只需要你存儲最新版本即可。

  市場上也有此類工具,例如Lumigent Technologies公司的AuditDB和 Idera公司的 SQL compliance manager,它們都可以讓你捕捉數(shù)據(jù)庫中發(fā)生的每個變化的每個階段。它用了非常大的空間來存儲數(shù)據(jù),只有用上面提到的工具,你才可以檢索數(shù)據(jù)隨著時間變化的不同狀態(tài)——除非是你修改了你的應(yīng)用程序來存儲每個歷史數(shù)據(jù)行。當(dāng)然,還有其他的選擇,例如使用觸發(fā)器來捕捉每個數(shù)據(jù)變更,但是,還是這個問題,你的存儲空間需要很大,因為使用觸發(fā)器的時候?qū)δ愕姆⻊?wù)器的要求很大。

  不使用工具或者修改你的應(yīng)用程序來捕捉每個歷史性數(shù)據(jù)行的話,你就剩下無盡的痛苦和無限的麻煩來嘗試重新創(chuàng)建你的數(shù)據(jù)了。幾年之前,我曾經(jīng)接受了這樣的任務(wù),重新創(chuàng)建幾年前的保健記錄,以此來發(fā)現(xiàn)一些可疑的行為。那時候,上面提到的工具還不存在,我就嘗試使用觸發(fā)器,還有額外的存儲需求,都無法選擇。

  重新創(chuàng)建每個歷史性特定數(shù)據(jù)集合的視圖的過程,是從歸檔備份磁帶的檢索開始的。讓我們感到驚恐的是,我們被通知,每個月只有一盤磁帶用于長期的存儲,因此我們只能創(chuàng)建每個月一次的快照。當(dāng)我們開始重新存儲磁帶的時候,我們再次郁悶地發(fā)現(xiàn),有些磁帶已經(jīng)沒法讀了。那時候的數(shù)據(jù)庫的規(guī)模只有10GB,但是需要一遍又一遍地重新儲存,還有要捕捉到的數(shù)據(jù)的話,需要我們在適當(dāng)?shù)奈恢弥匦麓鎯,因為這些是9GB磁盤驅(qū)動的時代,沒有足夠的存儲空間。今天,10GB是個極小的數(shù)字。現(xiàn)在的數(shù)據(jù)庫規(guī)模在100GB到500GB的范圍。所以,即使是存在較大的驅(qū)動,整體的問題仍然存在。

  我知道重新創(chuàng)建歷史性數(shù)據(jù)的任務(wù)不是經(jīng)常發(fā)生的情況,但是我也知道,我曾經(jīng)面對過這樣的挑戰(zhàn)好幾次。作為一名數(shù)據(jù)庫管理員,保護數(shù)據(jù)并幫助你的公司盡可能地再次制造是你的責(zé)任。為了理解真正的需求和數(shù)據(jù)的重要性,你必須詢問一些問題來幫助你判斷需求;谀銓W(xué)到的內(nèi)容,在合適的地方采取措施將會保證你可以重新創(chuàng)建你需要的東西。

  再一次提到,這里有3個選項考慮讓你了解什么是可能的,什么是不可能的:

  第三方工具,例如Lumigent的AuditDB 或者Idera的 SQL compliance manager

  使用觸發(fā)器或者修改其它應(yīng)用程序

  備份和重新存儲的方法
  
  根據(jù)你的選擇,你需要理解什么是可能的,什么是不可能的。通過使用第三方工具,你可以重新創(chuàng)建每個發(fā)生的變化。這些工具構(gòu)建在業(yè)務(wù)處理中,可以最小化對服務(wù)器和數(shù)據(jù)庫的性能影響,它們可以讓你有選擇的捕捉重要的數(shù)據(jù)。使用觸發(fā)器或者其它經(jīng)過修改的應(yīng)用程序是另一個很好的選擇,但是如果你的系統(tǒng)非常繁忙,如果你用這樣的方式的話,你的性能會受到很大的影響。

  最后一種方式,使用備份和重新存儲,需要進行調(diào)查以便你能夠理解長期的備份存儲。查明存儲多長時間的備份,存儲哪些類型的備份,以及你重新存儲所有步驟的可能性。即使是一天只進行一次完全備份,你仍然有潛在的風(fēng)險會丟失某一天的變更,于是你需要在那一天進行變更的恢復(fù)。在我所涉及的案例中,每個月都可能會發(fā)生很多很多的動作無法重新創(chuàng)建。

  根據(jù)紙質(zhì)的記錄來重新創(chuàng)建計算機記錄的日子一去不復(fù)返了。越來越多的信息只在線抓取。如果沒有采取適當(dāng)?shù)拇胧┑脑,?shù)據(jù)就會永遠丟失,人們永遠也不知道發(fā)生了什么。作為一個數(shù)據(jù)庫管理員,你需要理解你的角色,保持系統(tǒng)在線,是你的數(shù)據(jù)的,實際上也是全公司的保護神。

關(guān)鍵詞標簽:SQL Server,災(zāi)難恢復(fù)

相關(guān)閱讀

文章評論
發(fā)表評論

熱門文章 SqlServer2005對現(xiàn)有數(shù)據(jù)進行分區(qū)具體步驟SqlServer2005對現(xiàn)有數(shù)據(jù)進行分區(qū)具體步驟sql server系統(tǒng)表損壞的解決方法sql server系統(tǒng)表損壞的解決方法MS-SQL2005服務(wù)器登錄名、角色、數(shù)據(jù)庫用戶MS-SQL2005服務(wù)器登錄名、角色、數(shù)據(jù)庫用戶Access、SQL Server、Oracle常見應(yīng)用的區(qū)別Access、SQL Server、Oracle常見應(yīng)用的區(qū)別

相關(guān)下載

人氣排行 如何遠程備份(還原)SQL2000數(shù)據(jù)庫SQL2000數(shù)據(jù)庫遠程導(dǎo)入(導(dǎo)出)數(shù)據(jù)配置和注冊O(shè)DBC數(shù)據(jù)源-odbc數(shù)據(jù)源配置教程SQL2000和SQL2005數(shù)據(jù)庫服務(wù)端口查看或修改SQL Server 2005降級到2000的正確操作步驟修改Sql Server唯一約束教程淺談JSP JDBC來連接SQL Server 2005的方法SQL Server創(chuàng)建表語句介紹