那麼首先讓我們執行一下dbcc page(testDB,1,6,2)命令,可以看出前96字節為文件頭,接下來的96個字節為保留頁面,從第195個字節才開始記錄區是否已做變更。由於是新庫,數據對象並不多;ffff 7f,這三個字節記錄了需要進行下次備份需要進行增量備份的信息。
讓我們換個視圖來看一下,即執行dbcc page(testDB,1,6,3),這樣可以清楚地看到只有第0頁到第183頁是CHANGED狀態,下次備份需要備份這些頁面。
接下來當我們執行一次testDB庫全備後,再次用dbcc page(testDB,1,6,3)觀察一下變化。
就會發現除了一下系統保留頁面,基本上都變更為NOT CHANGED狀態,記住DCM頁面記錄的是區變更信息,並且系統保留頁面是一定要備份的。
BCM頁
批量更改映射(Bulk Changed Map,BCM)頁面,只有在數據庫處於BULK_LOGGED模式,並且沒有執行任何bulk批量操作時,才被使用到,因為BULK_LOGGED模式時數據庫日志記錄了包含數據庫所有改變的完整順序記錄,所以我們能夠將數據庫還原到任一時間點。
大容量日志恢復模式是一種特殊用途的恢復模式,只應偶爾用於提高某些大規模大容量操作(如大量數據的大容量導入)的性能
與完整恢復模式(完全記錄所有事務)相比,大容量日志恢復模式只對大容量操作進行最小記錄(盡管會完全記錄其他事務)。大容量日志恢復模式保護大容量操作不受媒體故障的危害,提供最佳性能並占用最小日志空間。
但是,大容量日志恢復模式會增加這些大容量復制操作丟失數據的風險,因為大容量日志操作阻止再次捕獲對每個事務逐一所做的更改。如果日志備份包含大容量日志操作,則無法還原到該日志備份中的時點,而只能還原整個日志備份。
為跟蹤數據頁,日志備份操作依賴於位圖頁的大容量更改,位圖頁針對每個區包含一位。對於自上次日志備份後由大容量日志操作所更新的每個區,在位圖中將每個位都設置為 1。
因為BCM頁的應用場景比較單一,在此不對BCM頁做相關詳述。