Linux 上的 MSSQL: 内存优化数据文件组容器可用空间(\%)

Microsoft.SQLServer.Linux.CollectionRule.Container.SpaceFreePercent (Rule)

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

Knowledge Base article:

摘要

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

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

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

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

可替代参数

名称

说明

默认值

Azure 最大文件大小(MB)

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

1048576

启用

启用或禁用工作流。

间隔(秒)

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

900

同步时间

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

 

超时(秒)

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

300

数据库连接超时(秒)

如果在指定期间无法访问数据库,工作流将失败并注册一个事件。

15

Element properties:

TargetMicrosoft.SQLServer.Linux.Container
CategoryPerformanceCollection
EnabledTrue
Alert GenerateFalse
RemotableTrue

Member Modules:

ID Module Type TypeId RunAs 
DS DataSource Microsoft.SQLServer.Linux.DataSource.DBFileSizeRawPerfProvider Default
WriteToDB WriteAction Microsoft.SystemCenter.CollectPerformanceData Default
WriteToDW WriteAction Microsoft.SystemCenter.DataWarehouse.PublishPerformanceData Default

Source Code:

<Rule ID="Microsoft.SQLServer.Linux.CollectionRule.Container.SpaceFreePercent" Target="SqlDiscL!Microsoft.SQLServer.Linux.Container" Enabled="true">
<Category>PerformanceCollection</Category>
<DataSources>
<DataSource ID="DS" TypeID="Microsoft.SQLServer.Linux.DataSource.DBFileSizeRawPerfProvider">
<MachineName>$Target/Host/Host/Host/Property[Type="SqlCoreLib!Microsoft.SQLServer.Core.DBEngine"]/MachineName$</MachineName>
<NetbiosComputerName>$Target/Host/Host/Host/Property[Type="SqlCoreLib!Microsoft.SQLServer.Core.DBEngine"]/NetbiosComputerName$</NetbiosComputerName>
<InstanceName>$Target/Host/Host/Host/Property[Type="SqlCoreLib!Microsoft.SQLServer.Core.DBEngine"]/InstanceName$</InstanceName>
<DatabaseName>$Target/Host/Host/Property[Type="SqlCoreLib!Microsoft.SQLServer.Core.Database"]/DatabaseName$</DatabaseName>
<FileName>$Target/Property[Type="SqlCoreLib!Microsoft.SQLServer.Core.File"]/FileName$</FileName>
<AzureMaxFileSizeMB>1048576</AzureMaxFileSizeMB>
<ObjectName>Memory-Optimized Container</ObjectName>
<CounterName>Memory-Optimized Filegroup container free space (%)</CounterName>
<PerfInstanceName/>
<ValuePropertyName>FreeSpacePercent</ValuePropertyName>
<ConnectionString>$Target/Host/Host/Host/Property[Type="SqlCoreLib!Microsoft.SQLServer.Core.DBEngine"]/ConnectionString$</ConnectionString>
<InstanceVersion>$Target/Host/Host/Host/Property[Type="SqlCoreLib!Microsoft.SQLServer.Core.DBEngine"]/Version$</InstanceVersion>
<InstanceEdition>$Target/Host/Host/Host/Property[Type="SqlCoreLib!Microsoft.SQLServer.Core.DBEngine"]/Edition$</InstanceEdition>
<SqlExecTimeoutSeconds>60</SqlExecTimeoutSeconds>
<SqlTimeoutSeconds>15</SqlTimeoutSeconds>
<TimeoutSeconds>300</TimeoutSeconds>
<IntervalSeconds>900</IntervalSeconds>
<SyncTime/>
</DataSource>
</DataSources>
<WriteActions>
<WriteAction ID="WriteToDB" TypeID="SC!Microsoft.SystemCenter.CollectPerformanceData"/>
<WriteAction ID="WriteToDW" TypeID="SCDW!Microsoft.SystemCenter.DataWarehouse.PublishPerformanceData"/>
</WriteActions>
</Rule>