SQL Server 2014 内存优化数据文件数(汇总)

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>