MSSQL 2016: 記憶體最佳化資料記憶體回收填滿因數 (\%)

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

收集記憶體最佳化資料檔案群組的記憶體回收填滿因數 (記憶體最佳化資料檔案內作用中之資料列所使用的空間量。此值會以資料檔案大小的百分比表示)。請注意: 此規則預設為停用。如有需要,請使用覆寫予以啟用。

Knowledge Base article:

摘要

此規則會收集記憶體最佳化資料檔案群組的記憶體回收填滿因數 (記憶體最佳化資料檔案內使用中資料列所使用的空間量,以資料檔案大小的百分比表示)。

The rule collects Garbage Collection Fill Factor (an amount of space used by active rows in Memory-Optimized Data files, expressed as a percentage of the size of data files) for Memory-Optimized Data Filegroup.

記憶體回收填滿因數是一種量值,可顯示所有包含已插入/已刪除資料列之作用中資料/差異檔案的平均填滿因數。當此量值低於 50% 時,表示自動合併落後。只要 CFP (成對的檢查點檔案) 數低於 8000,且您有大量儲存體可供記憶體最佳化資料檔案群組使用,就不會立即造成問題。

如需詳資訊,請參閱 sys.dm_db_xtp_checkpoint_files (Transact-SQL) 文件

More information can be found under the sys.dm_db_xtp_checkpoint_files (Transact-SQL) documentation

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

<記憶體回收運作方式>一節位於<建立及管理記憶體最佳化物件的儲存體>主題下

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

可覆寫的參數

名稱

描述

預設值

已啟用

啟用或停用該工作流程。

間隔 (秒)

執行工作流程的週期性時間間隔 (秒)。

900

指令碼延遲 (毫秒)

此參數可設定工作流程所執行的連續 T-SQL 查詢之間的延遲。這可能有助於減少工作流程在有大量目標物件時,所產生的磁碟使用量。請先取得 Microsoft 支援服務的建議,再變更此參數。

0

同步處理時間

使用 24 小時制指定的同步處理時間。將會忽略。

00:05

逾時 (秒)

指定允許工作流程在關閉且標示為失敗之前執行的時間。

300

Element properties:

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

Member Modules:

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

Source Code:

<Rule ID="Microsoft.SQLServer.2016.CollectionRule.DBFileGroupFx.GarbageCollectionFillFactor" Target="SQL2016Core!Microsoft.SQLServer.2016.DBFileGroupFx" Enabled="false">
<Category>PerformanceCollection</Category>
<DataSources>
<DataSource ID="DS" TypeID="Microsoft.SQLServer.2016.DataSource.DBFileGroupFx.GarbageCollectionPerf">
<IntervalSeconds>900</IntervalSeconds>
<SyncTime/>
<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>Memory-Optimized Data Garbage Collection Fill Factor (%)</CounterName>
<InstanceName/>
<DatabaseName>$Target/Host/Property[Type="SQL2016Core!Microsoft.SQLServer.2016.Database"]/DatabaseName$</DatabaseName>
<Value>$Data/Property[@Name='StorageUsageFillFactor']$</Value>
<TimeoutSeconds>300</TimeoutSeconds>
<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>