Количество файлов SQL Server 2014 OLTP в памяти (свертка)

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

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

Knowledge Base article:

Сводка

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

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

Причины

Есть две основные причины. Во-первых, вы, возможно, превысили предел в 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>