Количество файлов в оптимизированных для памяти данных SQL Server 2014 (свертка)

Microsoft.SQLServer.2014.DependencyMonitor.Database.ActivePairs (DependencyMonitor)

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

Knowledge Base article:

Сводка

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

Файловая группа, оптимизированная для обработки в памяти, может иметь до 8192 активных пар файлов контрольных точек для хранения строк, измененных и удаленных в устойчивых таблицах, оптимизированных для обработки в памяти, а также строк, вставленных в эти таблицы. После выделения 8000 пар файлов контрольных точек новые транзакции DML, включающие в себя устойчивые таблицы, оптимизированные для обработки в памяти, выполнять нельзя. Использовать оставшиеся записи могут только контрольные точки и операции слияния. Это может привести к недоступности приложения. Поэтому важно наблюдать за количеством пар файлов контрольных точек и предпринимать меры для исправления ситуации.

Причины

Основных причин две. Во-первых, может быть превышено предельное значение в 256 Гб для размера оптимизированных для памяти данных в постоянных оптимизированных для памяти таблицах. Во-вторых, операции автоматического слияния и/или сохранения данных, осуществляемые фоновым потоком, нельзя синхронизировать с транзакциями.

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

Решения

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

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

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

Название

Описание

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

Включено

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

Да

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

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

Нет

Element properties:

TargetMicrosoft.SQLServer.2014.Database
Parent MonitorSystem.Health.PerformanceState
AlgorithmWorstOf
Source MonitorMicrosoft.SQLServer.2014.Monitor.DBFileGroupFx.ActivePairs
RelationshipMicrosoft.SQLServer.2014.RelationshipType.DBHostsDBFileGroupFx
CategoryPerformanceCollection
EnabledTrue
Alert GenerateFalse
Alert Auto ResolveFalse
RemotableTrue
AccessibilityPublic

Source Code:

<DependencyMonitor ID="Microsoft.SQLServer.2014.DependencyMonitor.Database.ActivePairs" Accessibility="Public" Enabled="true" Target="SQL2014Core!Microsoft.SQLServer.2014.Database" ParentMonitorID="SystemHealth!System.Health.PerformanceState" Remotable="true" Priority="Normal" RelationshipType="SQL2014Core!Microsoft.SQLServer.2014.RelationshipType.DBHostsDBFileGroupFx" MemberMonitor="Microsoft.SQLServer.2014.Monitor.DBFileGroupFx.ActivePairs">
<Category>PerformanceCollection</Category>
<Algorithm>WorstOf</Algorithm>
<MemberUnAvailable>Error</MemberUnAvailable>
</DependencyMonitor>