日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 人文社科 > 生活经验 >内容正文

生活经验

SQL Server中灾难时备份结尾日志(Tail of log)的两种方法

發布時間:2023/11/27 生活经验 58 豆豆
生活随笔 收集整理的這篇文章主要介紹了 SQL Server中灾难时备份结尾日志(Tail of log)的两种方法 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

簡介

???

??? 在數據庫數據文件因各種原因發生損壞時,如果日志文件沒有損壞。可以通過備份結尾日志(Tail of log)使得數據庫可以恢復到災難發生時的狀態。

??? 例如:

????

???? 上圖中。在DB_1中做了完整備份,在Log_1,Log_2處做了日志備份。在Log_2備份之后不久,發生了故障。從Log_2備份到災難發生時之間的日志。就是結尾日志(Tail of log)。如果不能備份尾端日志,則數據庫只能恢復到Log_2備份的點。尾端日志期間所做的改動全部丟失。更詳細的概念可以查看我之前關于日志的博文。

???? 下面我們分別來看在SQL Server實例運行良好和SQL Server實例崩潰狀態下,備份結尾日志方法。

SQL Server實例運行正常時,結尾日志的備份

??? 下面來模擬一次災難下結尾日志的備份:

???

??? 現在數據庫TestBackUp有了一個完整備份和一個日志備份,而最后那條”日志備份后的測試數據”是在上次日志備份之后的,被結尾日志所包含。

??? 接下來模擬數據庫文件所在磁盤損壞(日志文件完好)

??? 1.停掉Server SQL服務

??? 2.刪除數據庫文件(MDF文件)

???

???? 此時在SSMS中訪問數據庫TestBackUp會出現不可用:

????

???? 此時,因為SQL Server實例可用,通過在T-SQL語句指定NO_TRUNCATE選項(必須指定,否則無法備份尾端日志),備份尾端日志:

???

???? 依次進行完整備份恢復,和兩次事務日志恢復,可以看到數據已經成功恢復到災難點:

???

?

當SQL Server實例崩潰時,結尾日志的備份

??? 此時由于各種原因,所處的SQL Server實例也崩潰,無法通過T-SQL來備份結尾日志。此時數據庫文件損壞,而事務日志文件保持正確。

??? 假設情況和上面例子一樣,此時我手里有一個完整備份(TestBackUp_FULL.bak)和一個日志備份(TestBackUp_log1.bak),還有一個日志文件(ldf)。

??? 這時我將這幾個文件拷貝到其他擁有SQL Server實例的機器上。

??? 新建一個和原數據庫名一樣的數據庫。設置為脫機:

???

??? 刪除新建數據庫的MDF文件。

??? 將需要備份的數據庫的日志文件替換掉原有的LDF文件。

??? 此時直接備份結尾日志,成功:

???

??? 原有Sql server實例恢復后一次恢復完整備份和兩個日志備份。成功恢復到災難發生點。

?

總結

??? 我相信看到這篇文章的人都不希望碰到用到上面兩種方法的情況。但是,墨菲定律(事情如果有變壞的可能,無論這種可能性有多小,它總會發生)是殘酷的,事先練習一下總是比真正遇到情況用生產數據練習愜意的多:-)

轉載于:https://www.cnblogs.com/CareySon/archive/2012/02/23/2365006.html

總結

以上是生活随笔為你收集整理的SQL Server中灾难时备份结尾日志(Tail of log)的两种方法的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。