掃二維碼與項目經(jīng)理溝通
我們在微信上24小時期待你的聲音
解答本文疑問/技術咨詢/運營咨詢/技術建議/互聯(lián)網(wǎng)交流
注:Robert L Davis是微軟的高級數(shù)據(jù)庫管理員和專家,同時是《SQL Server》雜志的撰稿人,并合著《Pro SQL Server 2008 Mirroring》一書。

成都創(chuàng)新互聯(lián)專業(yè)為企業(yè)提供蓮池網(wǎng)站建設、蓮池做網(wǎng)站、蓮池網(wǎng)站設計、蓮池網(wǎng)站制作等企業(yè)網(wǎng)站建設、網(wǎng)頁設計與制作、蓮池企業(yè)網(wǎng)站模板建站服務,10年蓮池做網(wǎng)站經(jīng)驗,不只是建網(wǎng)站,更提供有價值的思路和整體網(wǎng)絡服務。
每個人都會犯錯,DBA也不例外。不過DBA犯錯時,通常他們也是***個發(fā)現(xiàn)錯誤,并立刻修正錯誤。但,有些錯誤是不可原諒的,因為可能給企業(yè)造成不可挽回的損失。我將陸續(xù)介紹DBA的5大失誤,這些失誤會危及到數(shù)據(jù)的可恢復性、完整性和安全性,是不可原諒的錯誤,DBA為此可能會付出丟掉工作的代價。
DBA***大失誤:你的備份可靠嗎?
DBA的首要重點工作是備份。這一點,再如何強調(diào)其重要性,都不為過。就算萬事出錯,你都應該確保備份是任何災難事件中***的一根稻草。我聽到或遇到太多類似的事件,發(fā)生意外事件時,發(fā)現(xiàn)備份工作沒有做,或者備份被損壞,無法恢復。這可能導致公司采取嚴厲措施規(guī)定什么樣數(shù)據(jù)必須保存,并得處理數(shù)據(jù)丟失的嚴重后果。沒有按照規(guī)定進行可靠的備份可能會讓你丟掉工作。
在***的數(shù)據(jù)世界中,DBA應該了解對恢復事件和數(shù)據(jù)丟失的要求。這兩個要求通常被稱為恢復時間目標(Recovery Time Objective,RTO)和恢復點目標(Reovery Point Objective,RPO),用來設計災難恢復計劃(和相應的的備份計劃),以支持數(shù)據(jù)恢復。
在災難發(fā)生時,RTO是允許你宕機的時間,RPO是允許你丟失的數(shù)據(jù)量。DBA的目標應該是盡可能將數(shù)據(jù)流失接近零。在制定災難恢復計劃的備份計劃時,你應該假設所有其他級別的保護都失敗,從備份中還原是你防御的***一道防線。
如果你真的走到這***一道防線,***的好備份就是你將丟失的數(shù)據(jù)量。這將幫助你確認備份的頻率,如果數(shù)據(jù)丟失量的要求低,你就需要頻繁備份。你應該高頻率備份的唯一備份類型是日志備份。這就意味要么是完整恢復模式(full recovery model),或大容量日志恢復模式(bulk-logged recovery model)。
有可靠的備份不僅僅意味著只是備份,而是指知道備份可以恢復,知道何時進行恢復。這就是測試備份的用武之地了。作為***限度,你應該使用BACKUPVERIFYONLY命令來測試備份是否可恢復。
除了驗證備份之外,我還會強烈建議使用CHECKSUM選項,對所有的備份和恢復進行驗證。CHECKSUM選項執(zhí)行額外的檢查,可能時會確定數(shù)據(jù)庫是否已損壞。如果額外的檢查發(fā)現(xiàn)數(shù)據(jù)損壞,備份操作將失敗,并提醒數(shù)據(jù)已損壞。此外,它還會對整個備份文件執(zhí)行校驗,這將幫助你檢測是否備份文件是在創(chuàng)建后被損壞的。
對整個備份文件進行***的CHECKSUM操作,***的好處是如果備份文件本身已損壞,那么對該文件進行恢復會立刻失敗。這對非常大型的數(shù)據(jù)庫而言,尤為重要。因為一個還原操作可能需要花數(shù)小時。如果備份文件已經(jīng)損壞,它在頁頭有一個額外的校驗值,那么效驗將在恢復操作開始之時重新計算,并很快失敗。雖說找出備份文件受損的恢復時間并非好事,但遠遠好過經(jīng)過幾個小時的恢復運行才發(fā)現(xiàn)文件受損。
DBA能夠確保備份可恢復的***方法就是通過執(zhí)行實際的恢復進行測試。理想情況下,我更喜歡結(jié)合使用自動修復備份(以確保它們有效)和運行災備訓練(演習停機情況下,DBA運行整個恢復過程)。規(guī)劃和實踐是當實際災難發(fā)生時,幫助你達到恢復需求的關鍵所在。
我想說的是,DBA應該做的***件事情和***一件事情都是備份。如果我遇到新的服務器或環(huán)境,我做的***件事情就是確保所有的服務器都有備份,并成功運行。之后,我會重新檢查備份情況,基于實際的RPO和RTO需求制定一個災難恢復計劃。如果DBA沒有做到第二步,還算情有可原,但是沒有可靠的備份就是一個無可饒恕的失誤。假如發(fā)生災難或意外,DBA卻沒有可靠的備份,恐怕工作難保。

我們在微信上24小時期待你的聲音
解答本文疑問/技術咨詢/運營咨詢/技術建議/互聯(lián)網(wǎng)交流