垃圾回收状态(汇总)

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

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

Knowledge Base article:

摘要

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

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

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

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

http://msdn.microsoft.com/library/dn133201%28v=sql.120%29.aspx

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

http://msdn.microsoft.com/library/dn133174%28v=sql.120%29.aspx

原因

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

解决方法

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

可替代参数

名称

说明

默认值

已启用

 

生成警报

 

Element properties:

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

Source Code:

<DependencyMonitor ID="Microsoft.SQLServer.2014.DependencyMonitor.Database.GarbageCollectionState" 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.GarbageCollectionState">
<Category>PerformanceCollection</Category>
<Algorithm>WorstOf</Algorithm>
<MemberUnAvailable>Error</MemberUnAvailable>
</DependencyMonitor>