Место в файлах журнала базы данных (свертка)

Microsoft.SQLServer.2016.Database.DBLogFileSpaceMonitorRollUp (DependencyMonitor)

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

Knowledge Base article:

Сводка

Примечание. Этот монитор является монитором зависимости (сводным монитором). Состояние работоспособности для этого монитора определяется наилучшим состоянием любого монитора-члена. Пожалуйста, ознакомьтесь со статьей базы знаний о соответствующих базовых мониторах.

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

Причины

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

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

Автоматическое увеличение не разрешено

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

Автоматическое увеличение разрешено

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

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

При расчете доступного пространства также необходимо принимать во внимание, что файл может не увеличиваться, если шаг увеличения файла (в МБ или %) больше, чем свободное пространство на носителе. Та же логика применяется к файлам, расширение которых ограничено параметром максимального размера. В таких ситуациях свободное место на диске не включается в доступное пространство, так как дальнейшее увеличение файла невозможно.

Решения

Эта проблема может быть устранена следующим образом.:

См. электронную документацию по SQL Server: Архитектура файлов и файловых групп.

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

Название

Описание

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

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

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

Обычные

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

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

MatchMonitorHealth

Включено

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

Да

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

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

Да

Element properties:

TargetMicrosoft.SQLServer.2016.Database
Parent MonitorMicrosoft.SQLServer.2016.Database.DBLogFileSpaceMonitor
AlgorithmBestOf
Source MonitorMicrosoft.SQLServer.2016.Monitoring.DBLogFileSpaceMonitor
RelationshipMicrosoft.SQLServer.2016.DBHostsLogFile
CategoryPerformanceHealth
EnabledTrue
Alert GenerateTrue
Alert SeverityMatchMonitorHealth
Alert PriorityNormal
Alert Auto ResolveTrue
RemotableTrue
AccessibilityPublic
Alert Message
MSSQL 2016: в файлах журнала заканчивается свободное место
В базе данных {0} экземпляра SQL Server {1} на компьютере {2} заканчивается свободное место в файле журнала. Дополнительные сведения см. в соответствующем разделе набора знаний.

Source Code:

<DependencyMonitor ID="Microsoft.SQLServer.2016.Database.DBLogFileSpaceMonitorRollUp" Accessibility="Public" Enabled="true" Target="SQL2016Core!Microsoft.SQLServer.2016.Database" ParentMonitorID="Microsoft.SQLServer.2016.Database.DBLogFileSpaceMonitor" Remotable="true" Priority="Normal" RelationshipType="SQL2016Core!Microsoft.SQLServer.2016.DBHostsLogFile" MemberMonitor="Microsoft.SQLServer.2016.Monitoring.DBLogFileSpaceMonitor">
<Category>PerformanceHealth</Category>
<AlertSettings AlertMessage="Microsoft.SQLServer.2016.Database.DBLogFileSpaceMonitorRollUp.AlertMessageResourceID">
<AlertOnState>Warning</AlertOnState>
<AutoResolve>true</AutoResolve>
<AlertPriority>Normal</AlertPriority>
<AlertSeverity>MatchMonitorHealth</AlertSeverity>
<AlertParameters>
<AlertParameter1>$Target/Property[Type="SQL2016Core!Microsoft.SQLServer.2016.Database"]/DatabaseName$</AlertParameter1>
<AlertParameter2>$Target/Host/Property[Type="SQL2016Core!Microsoft.SQLServer.2016.ServerRole"]/InstanceName$</AlertParameter2>
<AlertParameter3>$Target/Host/Host/Property[Type="Windows!Microsoft.Windows.Computer"]/NetworkName$</AlertParameter3>
</AlertParameters>
</AlertSettings>
<Algorithm>BestOf</Algorithm>
<MemberUnAvailable>Error</MemberUnAvailable>
</DependencyMonitor>