MSSQL 2016: 数据库内存优化数据文件组可用空间总大小(\%)

Microsoft.SQLServer.2016.CollectionRule.DBFileGroupFx.SpaceFreePercent (Rule)

收集内存优化数据文件组中所有容器可用的可用空间量,以占磁盘可用空间和内存优化数据文件组中存储的数据大小之和的百分比表示。

Knowledge Base article:

摘要

规则将收集内存优化数据文件组容器中所有容器的可用空间量,以占磁盘可用空间和内存优化数据文件组中存储的数据大小之和的百分比表示。

内存优化数据文件组容器文件夹通常会随着时间逐渐变大,因为添加到内存优化数据表的数据越来越多。

当配置数据库存储位置的驱动器上的可用磁盘空间过低时,可能会发生失败,并阻止成功处理数据、延迟用户查询或影响共享分配的同一磁盘空间的其他应用程序。

请注意,当文件组中没有文件时,此规则返回 100% 值。

可用磁盘空间较低的解决方案取决于根本原因,其必须在问题发生时根据每种情况进行调查。可以采用以下任一种方法来缓解这种状况:

可替代参数

名称

说明

默认值

Azure 文件最大大小(MB)

存储在 Azure BLOB 存储中的数据文件的最大大小。工作流会将此值视为每个文件的最大存储容量。

1048576

已启用

启用或禁用工作流。

间隔(秒)

要运行工作流的重复时间间隔(秒)。

900

脚本延迟(毫秒)

此参数将设置工作流执行的连续 T-SQL 查询之间的延迟时间。此参数有助于在有大量目标对象时减少工作流生成的足迹。在更改此参数之前,请咨询 Microsoft 技术支持人员。

0

同步时间

使用 24 小时格式指定的同步时间。可以忽略。

 

超时(秒)

指定允许工作流在被关闭并标记为失败之前运行的时间。

300

Element properties:

TargetMicrosoft.SQLServer.2016.DBFileGroupFx
CategoryPerformanceCollection
EnabledTrue
Alert GenerateFalse
RemotableTrue

Member Modules:

ID Module Type TypeId RunAs 
DS DataSource Microsoft.SQLServer.2016.DataSource.DBFileGroupFx.SizeRawPerfProvider Default
WriteToDB WriteAction Microsoft.SystemCenter.CollectPerformanceData Default
WriteToDW WriteAction Microsoft.SystemCenter.DataWarehouse.PublishPerformanceData Default

Source Code:

<Rule ID="Microsoft.SQLServer.2016.CollectionRule.DBFileGroupFx.SpaceFreePercent" Target="SQL2016Core!Microsoft.SQLServer.2016.DBFileGroupFx" Enabled="true">
<Category>PerformanceCollection</Category>
<DataSources>
<DataSource ID="DS" TypeID="Microsoft.SQLServer.2016.DataSource.DBFileGroupFx.SizeRawPerfProvider">
<IntervalSeconds>900</IntervalSeconds>
<SyncTime/>
<ConnectionString>$Target/Host/Host/Property[Type="SQL2016Core!Microsoft.SQLServer.2016.DBEngine"]/ConnectionString$</ConnectionString>
<ServerName>$Target/Host/Host/Host/Property[Type="Windows!Microsoft.Windows.Computer"]/NetworkName$</ServerName>
<SqlInstanceName>$Target/Host/Host/Property[Type="SQL2016Core!Microsoft.SQLServer.2016.ServerRole"]/InstanceName$</SqlInstanceName>
<ObjectName>Memory-Optimized Filegroup</ObjectName>
<CounterName>DB Memory-Optimized Filegroup Available Space Total (%)</CounterName>
<InstanceName/>
<DatabaseName>$Target/Host/Property[Type="SQL2016Core!Microsoft.SQLServer.2016.Database"]/DatabaseName$</DatabaseName>
<DBFileGroupId>$Target/Property[Type="SQL2016Core!Microsoft.SQLServer.2016.DBFileGroupFx"]/GroupID$</DBFileGroupId>
<Value>$Data/Property[@Name='FxFreeSpacePercent']$</Value>
<TimeoutSeconds>300</TimeoutSeconds>
<AzureMaxFileSizeMB>1048576</AzureMaxFileSizeMB>
<ScriptDelayMsec>0</ScriptDelayMsec>
</DataSource>
</DataSources>
<WriteActions>
<WriteAction ID="WriteToDB" TypeID="SC!Microsoft.SystemCenter.CollectPerformanceData"/>
<WriteAction ID="WriteToDW" TypeID="SCDW!Microsoft.SystemCenter.DataWarehouse.PublishPerformanceData"/>
</WriteActions>
</Rule>