System-Tables
什麼是 persistent_version_store 表?
MS Shipped 表的用途是什麼:
sys.persistent_version_store
?為什麼我想知道
主要是好奇心,部分原因是它可能與一個等待咬我們的問題有關……
我們正在執行 MS Dynamics 365 for Finance and Operations 的 SaaS 實例。用於監控性能的工具非常有限。在試圖找到一些有意義的東西時,我發現這個表的行數非常高(~75,000,000)。這似乎令人擔憂。這可能沒問題,但 MS 已將其包含在他們的分析工具中,這意味著這會使圖表上的所有其他資訊黯然失色(因為它具有線性比例),從而使圖表毫無意義。我想了解這張表是什麼,這樣我就可以確定它是否需要調查,或者將它包含在監控工具中是否只是糟糕的設計。
為什麼不閱讀文件
由於它是一個 MS 表,因此應該記錄在某處。但是,搜尋persistent_version_store會得到 1 個結果,並且是中文的。搜尋Persistence Version Store效果更好;但尚不清楚這是否是同一件事/沒有太多關於它的文件;僅如何解決達到最大尺寸的問題。
persistent_version_store 表由 Accelerated Database Recovery 選項維護。它是數據庫隨時間變化的持久儲存。
由於這個問題自 2018 年 8 月以來沒有任何評論或答案,我將假設大量行沒有任何結果,但記錄表的結構可能對某人有用。
此表可在 SQL Server 2019 預覽版(撰寫本文時為 CTP 2.2)中找到。
CREATE TABLE sys.persistent_version_store ( xdes_ts_push bigint, xdes_ts_tran bigint, subid_push int, subid_tran int, rowset_id bigint, sec_version_rid binary(8), min_len smallint, seq_num bigint prev_row_in_chain binary(8), row_version varbinary(8000) );
也許考慮到 Dynamics 環境的高流失率,版本儲存確實有很多行,但它們是短暫的?