數據庫的無備份恢復

數據庫沒有備份---應如何還原丟失的數據

數據庫沒有備份---應如何還原丟失的數據
環境描述:
某公司裝了一臺SQL Server數據庫,爲了保證數據庫能夠在出現故障時及時的修復,管理員做了備份操作,比如說完整備份+差異備份或者完整備份+事務日誌備份,而且備份的時間是每隔6個小時做一次完整備份,在每天的1點、6點、12點、18點,6個小時之內是每隔1個小時做一次差異備份或事務日誌備份,並且和計劃任務結合在了一起。
假如現在存在這樣一種場景,在2點40分左右,突然間數據庫無緣無故損壞了,差異備份或事務日誌備份在3點纔會自動去做,那麼如何將2點到2點40之間的數據恢復呢?這就需要通過備份尾部日誌進行恢復了。
實施步驟:
1、 首先創建一個數據庫,並在數據庫裏創建一張表Dreamfire做測試用。
clip_image002
2、 其次創建兩個備份設備(備份數據存放的地方),一個存放完整備份的數據,一個存放差異備份的數據。做一次完整備份+差異備份,假如完整備份在1點做完整備份,2點做差異備份。
先做完整備份:
clip_image004
clip_image006
clip_image008
clip_image010
做完完整備份之後,然後在剛纔創建的數據庫的表中添加一條數據做測試用。
然後通過差異備份數據庫:
clip_image012
clip_image014
clip_image016
3、 創建一張表爲dbo.weibu,做測試用。假如這條記錄是在2點到3點之間創建的。
clip_image018
4、 模擬數據庫丟失(刪除剛纔創建的xiaonuo數據庫),然後通過完整備份+事務日誌備份還原
首先停止數據庫的所有服務(也可以只停SQL Server服務),然後刪除xiaonuo數據庫,然後重啓所有服務,並連接到數據庫實例中可以看出剛纔創建的數據庫test裏的表不存在了。
clip_image020
clip_image022
刪除完數據庫之後,然後啓動服務,鏈接到數據庫實例中,可以看到剛纔創建的數據庫xiaonuo裏的數據全部丟失了。
clip_image024
5、 備份尾部日誌並還原。
如果通過正常還原(完整備份+差異備份還原),只能還原dbo.Dreanfire這張表,並不能還原dbo.weibu這張表。這就需要在master數據庫中備份數據庫xiaonuo的尾部日誌(刪除xiaonuo數據庫時,可不能連尾部日誌也刪除了),備份的時候,數據庫選擇“xiaonuo”,備份類型選擇“事務日誌”
clip_image026
注意:常規裏一定要選擇“追加到現有備份集”
clip_image028
6、 進行完整備份+事務日誌備份的還原
注意:還原了時候,最後會多一條日誌備份記錄,也就是剛纔在master數據庫上做的關於xiaonuo數據庫的尾部日誌備份。
還原完成之後,可以看到不但完整備份和差異備份的數據回來了,而且沒有備份的數據也回來了。
clip_image030
clip_image032


發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章