追蹤修改的範圍
SQL Server 使用兩個內部資料結構來追蹤大量複製作業修改過的範圍,以及自從上個完整備份之後修改過的範圍。這些資料結構大幅加速差異備份;同時也在資料庫使用大量記錄復原模式時,提高了大量複製作業記錄的速度。就好像整體配置對應 (GAM) 和共用整體配置對應 (SGAM) 分頁一樣,這些結構也是點陣圖,其中每個位元都代表一個範圍。
差異式變更對應 (DCM)
這種對應會追蹤自從上個 BACKUP DATABASE 陳述式之後發生變更的範圍。若某個範圍的位元為 1,代表該範圍自從上個 BACKUP DATABASE 陳述式之後已修改過。若位元為 0,代表該範圍並未修改過。
差異備份只讀取 DCM 分頁,找出哪些範圍經過修改。這可大幅減少差異式備份必須掃描的分頁數目。差異式備份的執行時間長度,將與上次執行 BACKUP DATABASE 陳述式之後修改過的範圍數目成正比,而不是與資料庫的整體大小成正比。
大量複製變更對應 (BCM)
這種對應會追蹤自從上個 BACKUP LOG 陳述式之後由大量記錄作業修改過的範圍。若某個範圍的位元為 1,代表該範圍自從上個 BACKUP LOG 陳述式之後已被大量記錄作業所修改。若位元為 0,代表該範圍並未被大量記錄作業所修改。
雖然 BCM 分頁出現在所有資料庫中,但它們只適用於資料庫正在使用大量複製復原模式時。在此復原模式中,當執行 BACKUP LOG 時,備份處理序會掃描 BCM 找出修改過的範圍。接著將這些範圍記錄到記錄備份中。若資料庫是由資料庫備份和一系列的交易記錄檔備份來還原,這將可復原大量記錄作業。對於使用簡單復原模式的資料庫,BCM 分頁並不適用,因為並沒有記錄下大量記錄作業。它們也不適用於使用完整復原模式的資料庫,因為該復原模式會將大量記錄作業視為完整記錄作業。
DCM 分頁與 BCM 分頁之間的間隔與 GAM 和 SGAM 分頁的間隔一樣,亦即 64,000 個範圍。DCM 與 BCM 分頁在實體檔案中剛好位於 GAM 與 SGAM 分頁之後: