垃圾回收状态(汇总)

Microsoft.SQLServer.2016.DependencyMonitor.Database.GarbageCollectionState (DependencyMonitor)

如果所有内存优化数据文件中的活动行使用的空间量低于“阈值”设置(以占数据文件大小的百分比表示),监视器将报告严重状态并引发警报。此监视器为依赖关系(汇总)监视器。

Knowledge Base article:

摘要

This monitor is considered to be obsolete in this Management Pack.

注意: 此监视器为依赖关系(汇总)监视器。此监视器的运行状态取决于任意成员监视器的最佳状态。另请参阅相关单元监视器的知识库文章。

如果所有相关单元监视器的垃圾回收器填充因子(内存优化数据文件中的活动行使用的空间量,以占数据文件大小的百分比表示)低于“阈值”设置,监视器将报告严重状态并引发警报。

内存优化数据文件组的垃圾回收填充因子是展示包含已插入/已删除行的所有活动数据/差异文件的平均填充因子的度量指标。如果此度量指标低于 50%,表示自动合并落后。但如果 CFP 数(检查点文件对)低于 8000,且有足够的存储可用内存优化数据文件组,这就不是直接原因。

可在 sys.dm_db_xtp_checkpoint_files (Transact-SQL)文档下找到详细信息

http://go.microsoft.com/fwlink/?LinkId=799285

可在主题“为内存已优化对象创建和管理存储”下找到“垃圾回收工作方式”部分

http://go.microsoft.com/fwlink/?LinkId=799286

原因

CFP 的合并将基于内部合并策略开始。有关详细信息,请参阅 本文

解决方法

如下列文章所述,执行手动合并并强制垃圾回收:

可替代参数

名称

说明

默认值

已启用

启用或禁用工作流。

生成警报

定义工作流是否生成警报。

Element properties:

TargetMicrosoft.SQLServer.2016.Database
Parent MonitorSystem.Health.PerformanceState
AlgorithmWorstOf
Source MonitorMicrosoft.SQLServer.2016.Monitor.DBFileGroupFx.GarbageCollectionState
RelationshipMicrosoft.SQLServer.2016.RelationshipType.DBHostsDBFileGroupFx
CategoryPerformanceCollection
EnabledTrue
Alert GenerateFalse
Alert Auto ResolveTrue
RemotableTrue
AccessibilityPublic

Source Code:

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