SQL Server 2014 記憶體內 OLTP 檔案數目 (彙總)

Microsoft.SQLServer.2014.DependencyMonitor.Database.ActivePairs (DependencyMonitor)

資料庫中記憶體內檔案群組的成對使用中檢查點檔案數目,高於指定的臨界值時,此監視器會回報重大狀態。此監視器是相依性 (彙總) 監視器。

Knowledge Base article:

摘要

資料庫中記憶體內檔案群組的成對使用中檢查點檔案數目,高於指定的臨界值時,此監視器會回報重大狀態。

記憶體最佳化檔案群組最多可以有 8192 個使用中 CFP (成對的檢查點檔案),可儲存在持續性記憶體最佳化資料表中插入、更新及刪除的資料列。配置 8,000 個 CFP 時,即無法對持續性記憶體最佳化資料表執行新的 DML 交易。只允許檢查點和合併作業使用剩餘的項目。這可能會導致應用程式無法使用。因此,一定要監視 CFP 計數並採取更正動作。

原因

有兩個主要原因。首先,您可能已超出持續性記憶體最佳化資料表的記憶體內大小 256 GB 限制。其次,背景執行緒所執行的自動合併及 (或) 資料持續性,無法與交易活動同步。

已根據內部合併原則開始合併 CFP。如需詳細資料,請參閱 這篇文章

解決方式

依下列文章所述,執行手動合併與強制記憶體回收:

同時,也應該確認記憶體最佳化檔案群組的資料儲存體,是否不低於 IO 壓力。

可覆寫的參數

名稱

描述

預設值

已啟用

 

產生警示

 

Element properties:

TargetMicrosoft.SQLServer.2014.Database
Parent MonitorSystem.Health.PerformanceState
AlgorithmWorstOf
Source MonitorMicrosoft.SQLServer.2014.Monitor.DBFileGroupFx.ActivePairs
RelationshipMicrosoft.SQLServer.2014.RelationshipType.DBHostsDBFileGroupFx
CategoryPerformanceCollection
EnabledTrue
Alert GenerateFalse
Alert Auto ResolveFalse
RemotableTrue
AccessibilityPublic

Source Code:

<DependencyMonitor ID="Microsoft.SQLServer.2014.DependencyMonitor.Database.ActivePairs" Accessibility="Public" Enabled="true" Target="SQL2014Core!Microsoft.SQLServer.2014.Database" ParentMonitorID="SystemHealth!System.Health.PerformanceState" Remotable="true" Priority="Normal" RelationshipType="SQL2014Core!Microsoft.SQLServer.2014.RelationshipType.DBHostsDBFileGroupFx" MemberMonitor="Microsoft.SQLServer.2014.Monitor.DBFileGroupFx.ActivePairs">
<Category>PerformanceCollection</Category>
<Algorithm>WorstOf</Algorithm>
<MemberUnAvailable>Error</MemberUnAvailable>
</DependencyMonitor>