資料庫常見十大錯誤No8 備份出錯

2021-04-15 10:41:12 字數 1680 閱讀 7110

sql server資料庫備份出錯及應對措施

早上看了乙個貼子,是乙個哥們推廣自己乙個智慧型的資料庫備份系統,他總結了資料庫備份過程中所有可能出錯的情況,可以借鑑。

如果你做dba時間不長,對資料庫的備份有些擔心,希望能找到一種讓你放心的備份方案,那麼本文絕對適合你。

關於資料庫的備份恢復原理,大家多少都比較熟悉了。但是,你目前做的資料庫備份有多可靠?你可以安心睡覺了嗎?如果答案是肯定的,那就不用多花時間看下文了,如果覺得還不夠安心,總擔心資料庫哪一天壞了修不好,那麼請接著看:

1、我有raid,還需要做資料庫備份嗎?需要。有了raid,萬一部份磁碟損壞,可以修復資料庫,有的情況下資料庫甚至可以繼續使用。但是,如果哪一天,你的同事不小心刪除了一條重要的記錄,怎麼辦?raid是無能為力的。你需要合適的備份策略,把那條被誤刪的資料恢復出來。所以有了raid,仍需要做備份集群,磁碟映象同理。

2、如果你只做全備份,那麼受限於全備份的大小和備份時間,不可能常做。而且只有全備份,不能將資料庫恢復至某個時間點。所以,我們需要全備份+日誌備份。比如每天乙個全備份,每隔1小時或若干分鐘乙個日誌備份。說到差異備份,因為微軟的差異備份記錄的是上一次全備份以來發生的變化,所以,如果資料庫的改動很頻繁的話,沒過多久,差異備份就會和全備份的大小接近,因此這種情況下就不合適了。因此,全備份+日誌備份的方案適合絕大多數的使用者。

3、如果你僅在資料庫本地做備份,萬一磁碟損壞,或者整個伺服器硬體損壞,備份也就沒了,就沒法恢復資料庫。因此,你需要把備份檔案傳送至另乙個物理硬體上。大多數使用者不用磁帶機,因此不考慮。一般,我們需要另一台廉價的伺服器或者pc來存放資料庫的備份,來防止硬體損壞造成的備份丟失。

4、你可以在資料庫伺服器本地做完備份,然後使用某些方式將備份檔案傳送至備機。你是在備份完成後就馬上穿送的嗎?其實可以考慮將傳送備份的指令碼用t-sql語句來寫。

5、備份檔案傳送至備機後,就可以高枕無憂了嗎?不。作為dba的你還需要檢查備機上的備份檔案是否能將資料庫恢復至最新,如果採用日誌備份,會不會因為丟失某乙個日誌備份檔案而導致資料庫不能恢復至最新?如何檢查日誌備份檔案之間存在斷檔?

6、為了將資料庫盡可能的恢復到最新,你可能會每隔10分鐘(甚至1分鐘)執行一次日誌備份,那麼萬一資料庫壞了,在恢復的時候,手動恢復成百上千個日誌檔案,是不是不太現實?

7、如果你所在公司有很多的資料庫伺服器(就像我所在的公司),而且磁碟空間有限,那麼你不得不經常登入伺服器來刪除舊的備份檔案,如果哪天忘了,或者五一十一長假,磁碟空間用完了,就麻煩了。

8、資料庫在備份的時候,並不會檢查資料頁面的完整性,如果資料頁壞了,備份作業仍會執行,而且不會報錯,等到你發現資料頁有錯誤的時候,你也很可能已經因為磁碟空間不足,而刪除了早期的備份,而此時剩下的那些備份可能都是包含損壞的資料頁,如果損壞的資料頁是某個表的表頭的話,那這個表你就再也沒辦法恢復了。

9、所以你需要定期執行dbcc檢查,來盡早發現資料庫頁面的完整性。在未作完dbcc檢查之前,你不能刪除舊的備份,以防止新的備份存在問題。所以,刪除備份檔案的工作變的有些麻煩。

10、你可能知道sql server提供了資料庫維護計畫。沒錯,使用它可以定期做備份,執行dbcc檢查,但這一切僅限於本機操作。為了使資料庫可靠,你還是需要自己把本地備份傳送至備機。

綜上,你的備份做好了嗎?檢查了嗎?刪除舊的備份是不是花去你很多時間,特別是在網路條件不好的時候?如果資料庫備份檔案的傳送在某一時刻停止了,你多久才能發現?公司值晚班的同事有許可權檢查資料庫的備份情況嗎?

資料庫常見十大錯誤No10 出現死鎖

如何防止插入刪除表造成的資料庫死鎖 在資料庫中經常會遇到這樣的情況 乙個主表a,乙個子表b,b表中包含有a表的主鍵作為外來鍵。當要插入資料的時候,我們會先插入a表,然後獲得a表的identity,再插入b表。如果要進行刪除操作,那麼就先刪除子表b,然後再刪除主表a。在程式設計中,對兩個表的操作是在乙...

資料探勘的十大錯誤現象 翻譯

在癌症檢測的專案中,醫生和研究人員在使用神經網路訓練資料時驚奇發現 訓練長時間 幾周或幾天 的訓練對結果的提高是有限的,更多時候會有更糟糕的評估結果。2.依賴於一種技術rely on one technique to a little boy with a hammer,all the world ...

在資料視覺化中,最容易犯的十大錯誤

使用資料視覺化來進行資料分析的過程是 獲取無聊的平面資料,並通過視覺化將其變為現實。但是,在資料分析的過程中很多人開始敏銳地意識到視覺化有可能會變成讓資料以錯誤的方式呈現,甚至有的人開始提出 視覺化經常被用來擾亂資料分析過程。在我們網際網路資訊快速發展下,資料比以往任何時候都更加豐富和可通過網際網路...