MSSQL 2016: DB 記憶體最佳化資料檔案群組可用空間總計 (\%)

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>