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

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

Отслеживает место, доступное в файлах журнала

Knowledge Base article:

Сводка

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

Причины

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

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

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

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

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

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

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

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

Решения

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

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

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

Имя

Описание

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

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

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

Обычные

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

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

MatchMonitorHealth

Вкл.

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

Да

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

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

Да

Element properties:

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

Source Code:

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