Доля устаревших пар файлов контрольных точек для данных, оптимизированных для памяти

Microsoft.SQLServer.2014.Monitor.DBFileGroupFx.StaleCFPs (UnitMonitor)

Монитор переходит в состояние предупреждения и создает предупреждение, когда доля устаревших пар файлов контрольных точек в файловой группе с данными, оптимизированными для обработки в памяти, превышает заданные пороговые значения.
Обратите внимание: эти предупреждения создаются, только если соответствующая база данных достаточно велика (общее число файлов контрольных точек — 300 или более).

Knowledge Base article:

Сводка

Монитор переходит в состояние предупреждения и создает предупреждение, когда доля устаревших пар файлов контрольных точек в файловой группе с данными, оптимизированными для обработки в памяти, превышает заданные пороговые значения.

Обратите внимание, предупреждения создаются, только если соответствующая база данных достаточно велика (имеет в итоге 300 файлов контрольных точек или более).

Устаревшие CFP — это файлы, оставшиеся в системе и ожидающие усечения журнала или сбора мусора.

Причины

Слияние пар файлов контрольных точек запускается на основе внутренней политики слияния. Дополнительные сведения см. в этой статье.

Решения

Выполните слияние вручную и принудительно запустите сборку мусора, как описано в следующих статьях:

Переопределяемые параметры

Название

Описание

Значение по умолчанию

Приоритет предупреждения

Определяет приоритет предупреждения.

Обычные

Серьезность предупреждения

Определяет серьезность предупреждения.

Предупреждение

Пороговое значение для пар файлов контрольных точек

Будет создано предупреждение, если итоговое число пар файлов контрольных точек будет больше порогового значения "Число пар файлов контрольных точек" или равно ему.

300

Включено

Включает или отключает рабочий процесс.

Да

Создает предупреждения

Определяет, создает ли рабочий процесс предупреждения.

Да

Интервал (с)

Интервал перед повторным запуском рабочего процесса (в секундах).

300

Число выборок

Показывает, сколько раз измеряемая величина должна превысить пороговые значения, чтобы состояние изменилось.

6

Задержка скрипта (в миллисекундах)

Этот параметр определяет задержку между последовательными запросами T-SQL, выполняемыми рабочим процессом. Это может помочь уменьшить нагрузку, создаваемую рабочим процессом в случае большого числа целевых объектов. Пожалуйста, проконсультируйтесь со службой поддержки Майкрософт перед изменением этого параметра.

0

Время синхронизации

Время синхронизации в 24-часовом формате. Может быть опущено.

 

Порог

Полученное соотношение будет сравниваться с этим параметром.

60

Время ожидания (в секундах)

Указывает время, в течение которого рабочий процесс должен быть запущен, прежде чем он будет закрыт и отмечен как завершившийся сбоем.

180

Element properties:

TargetMicrosoft.SQLServer.2014.DBFileGroupFx
Parent MonitorSystem.Health.PerformanceState
CategoryPerformanceHealth
EnabledTrue
Alert GenerateTrue
Alert SeverityWarning
Alert PriorityNormal
Alert Auto ResolveTrue
Monitor TypeMicrosoft.SQLServer.2014.DBFileGroupFx.StaleCFPs.MonitorType
RemotableTrue
AccessibilityPublic
Alert Message
MSSQL 2014: доля устаревших пар файлов контрольных точек превышает пороговые значения.
Отношение числа устаревших пар файлов контрольных точек к общему числу пар файлов контрольных точек превысило пороговые значения.
Сервер: {1}.
Экземпляр SQL Server: {0}.
База данных: {2}.
Файловая группа: {3}.
Отношение числа устаревших пар файлов контрольных точек к общему количеству: {4}.
RunAsDefault

Source Code:

<UnitMonitor ID="Microsoft.SQLServer.2014.Monitor.DBFileGroupFx.StaleCFPs" Target="SQL2014Core!Microsoft.SQLServer.2014.DBFileGroupFx" ParentMonitorID="SystemHealth!System.Health.PerformanceState" TypeID="Microsoft.SQLServer.2014.DBFileGroupFx.StaleCFPs.MonitorType" Accessibility="Public" Enabled="true" Remotable="true" Priority="Normal" ConfirmDelivery="true">
<Category>PerformanceHealth</Category>
<AlertSettings AlertMessage="Microsoft.SQLServer.2014.Monitor.DBFileGroupFx.StaleCFPs.AlertMessage">
<AlertOnState>Warning</AlertOnState>
<AutoResolve>true</AutoResolve>
<AlertPriority>Normal</AlertPriority>
<AlertSeverity>Warning</AlertSeverity>
<AlertParameters>
<AlertParameter1>$Target/Host/Host/Host/Property[Type="Windows!Microsoft.Windows.Computer"]/NetworkName$</AlertParameter1>
<AlertParameter2>$Target/Host/Host/Property[Type="SQL2014Core!Microsoft.SQLServer.2014.ServerRole"]/InstanceName$</AlertParameter2>
<AlertParameter3>$Target/Host/Property[Type="SQL2014Core!Microsoft.SQLServer.2014.Database"]/DatabaseName$</AlertParameter3>
<AlertParameter4>$Target/Property[Type="SQL2014Core!Microsoft.SQLServer.2014.FileGroup"]/GroupName$</AlertParameter4>
<AlertParameter5>$Data/Context/SampleValue$</AlertParameter5>
</AlertParameters>
</AlertSettings>
<OperationalStates>
<OperationalState ID="ErrorState" MonitorTypeStateID="ErrorState" HealthState="Warning"/>
<OperationalState ID="SuccessState" MonitorTypeStateID="SuccessState" HealthState="Success"/>
</OperationalStates>
<Configuration>
<IntervalSeconds>300</IntervalSeconds>
<SyncTime/>
<ServerName>$Target/Host/Host/Host/Property[Type="Windows!Microsoft.Windows.Computer"]/NetworkName$</ServerName>
<SqlInstanceName>$Target/Host/Host/Property[Type="SQL2014Core!Microsoft.SQLServer.2014.ServerRole"]/InstanceName$</SqlInstanceName>
<DatabaseName>$Target/Host/Property[Type="SQL2014Core!Microsoft.SQLServer.2014.Database"]/DatabaseName$</DatabaseName>
<Threshold>60</Threshold>
<CfpCountThreshold>300</CfpCountThreshold>
<TimeoutSeconds>180</TimeoutSeconds>
<ScriptDelayMsec>0</ScriptDelayMsec>
<NumSamples>6</NumSamples>
</Configuration>
</UnitMonitor>