對資料檔案和差異檔案組的合併進行監視和疑難排解
記憶體中 OLTP 會使用合併原則自動合併相鄰資料及差異檔案組。 您無法停用合併活動。
您可以監視資料及差異檔案組,如下所示:
比較記憶體中儲存體與整體儲存體的大小。 如果儲存體不成比例地大,可能是未觸發合併。 如需資訊
查看 sys.dm_db_xtp_checkpoint_files (Transact-SQL) 的資料和差異檔案中的已使用空間,以查看合併在何時未觸發。
執行手動合併
您可以使用 sys.sp_xtp_merge_checkpoint_files (Transact-SQL) 來執行手動合併。
使用以下查詢擷取有關資料及差異檔案的資訊。
select checkpoint_file_id, file_type_desc, internal_storage_slot, file_size_in_bytes, file_size_used_in_bytes,
inserted_row_count, deleted_row_count, lower_bound_tsn, upper_bound_tsn
from sys.dm_db_xtp_checkpoint_files
where state = 1
order by file_type_desc, upper_bound_tsn
假設您發現三個未合併的資料檔案。 您可以使用第一個資料檔案的 lower_bound_tsn
值和最後一個資料檔案的 upper_bound_tsn
以發出下列命令:
exec sys.sp_xtp_merge_checkpoint_files 'H_DB', 12345, 67890
假設有三個資料和差異檔案組,每一組各有 15,836 個資料列及 5,279 個已刪除的資料列。 合併之後,新資料檔案的資料列數變為 31,872,已刪除的資料列變為 0。 新資料檔案的大小可能遠大於最初所配置的 128MB。 這是因為手動合併會覆寫合併原則,並強制合併所要求的檔案。
部落格 使用Memory-Optimized資料表轉換資料庫中的檢查點檔案狀態轉換 說明從開始到垃圾收集的資料和差異檔案組狀態轉換。