Монитор свободного места в журнале транзакций (в процентах) для баз данных SQL в Windows. Примечание: по умолчанию этот монитор отключен. Чтобы его включить, используйте переопределения, если это необходимо.
Монитор свободного места в журнале транзакций (%) для базы данных SQL
Неисправное состояние вызвано недостатком свободного места во всех файлах журнала. Нехватка доступного места может быть вызвана следующими причинами:
Неадекватные параметры конфигурации файлов (размер, максимальный размер, автоматическое увеличение и т. д.)
нехватка оставшегося места на носителе.
Отсутствие периодических резервных копий
Журнал не усекается.
По следующей ссылке можно просмотреть данные производительности:
Данные производительности базы данных
Монитор отслеживает общее место, доступное для каждого файла журнала в базе данных, в зависимости от конфигурации каждого файла.
Без автоматического увеличения
У файла без автоматического увеличения размера свободное место будет равно разности между первоначальным размером и занятым местом.
Автоматическое увеличение включено
В дополнение к разности между размером файла и занятым местом свободное место у файлов со включенным автоматическим увеличением будет равно меньшему из двух значений: разность между максимальным размером и размером файла и оставшийся объем свободного места на диске.
Малый объем доступного места для файлов журнала базы данных с автоматическим увеличением может означать, что файл почти достиг предельного значения для логического диска, на котором он размещен. Для файлов с разрешенным автоматическим увеличением и заданным максимальным размером малый объем доступного места также может означать, что файл почти достиг максимального заданного размера.
При расчете доступного пространства также необходимо принимать во внимание, что файл может не увеличиваться, если размер увеличения файла больше, чем свободное пространство на диске, кроме того, увеличение невозможно, если разница между максимальным и текущим размером файла меньше размера увеличения. В таких ситуациях свободное место на диске не включается в доступное пространство, так как дальнейшее увеличение файла невозможно.
Эта проблема может быть устранена следующим образом.:
Увеличение выделенного размера для файлов журнала, если автоматическое увеличение отключено
Увеличение максимального размера файла журнала, если автоматическое увеличение включено
Включение автоматического увеличения размера по меньшей мере для одного файла
Перемещение файлов журнала на другой диск с большим свободным местом, если ограниченно место для увеличения файлов
Регулярное выполнение резервного копирования файлов журнала для режимов восстановления FULL и BULK-LOGGED
Определение причины, почему журнал не усекается.
Давно открытые выполняющиеся активные транзакции
Длительные операции резервного копирования
Реплицированная транзакция давно открыта (репликация транзакций).
Зеркальный сервер запаздывает относительно основного сервера (зеркальное отображение базы данных).
Изменение пороговых значений для этого монитора в соответствии с рабочей нагрузкой.
В другом случае, если доступное место для файла журнала не имеет значения для базы данных:
Отключите данный монитор для этой базы данных или для всех баз данных.
См. электронную документацию на SQL Server: Архитектура файлов и файловых групп
Имя | Описание | Значение по умолчанию |
Приоритет предупреждения | Определение приоритета оповещений. | Обычный |
Серьезность предупреждения | Определяет серьезность предупреждения. | Ошибка |
Максимальный размер файла Azure (МБ) | Максимальный размер файла данных в хранилище BLOB-объектов Azure. Рабочий процесс будет рассматривать это значение как максимальный объем хранения каждого файла. | 1048576 |
Включено | Включает или отключает рабочий процесс. | Нет |
Создает предупреждения | Определяет, создается ли предупреждение рабочим процессом. | Да |
Интервал (в секундах) | Повторяющийся интервал времени в секундах, в который следует запустить рабочий процесс. | 300 |
Число выборок | Показывает, сколько раз измеряемое значение должно пересечь пороговое значение для того, чтобы состояние изменилось. | 6 |
Пороговое значение | Собранное значение будет сравниваться с этим параметром. | 10 |
Время ожидания (в секундах) | Указывает время, в течение которого может выполняться рабочий процесс, прежде чем он будет закрыт или завершится сбоем. | 200 |
Target | Microsoft.SQLServer.Windows.Database | ||
Parent Monitor | Microsoft.SQLServer.Windows.Rollup.Database.DBSpace | ||
Category | PerformanceHealth | ||
Enabled | False | ||
Alert Generate | True | ||
Alert Severity | Error | ||
Alert Priority | Normal | ||
Alert Auto Resolve | True | ||
Monitor Type | Microsoft.SQLServer.Windows.MonitorType.Database.TransactionLogSpaceFreePercent | ||
Remotable | True | ||
Accessibility | Public | ||
Alert Message |
| ||
RunAs | Default |
<UnitMonitor ID="Microsoft.SQLServer.Windows.Monitor.Database.TransactionLogSpaceFreePercent" Accessibility="Public" Enabled="false" Target="SqlDiscW!Microsoft.SQLServer.Windows.Database" ParentMonitorID="Microsoft.SQLServer.Windows.Rollup.Database.DBSpace" Remotable="true" Priority="Normal" TypeID="Microsoft.SQLServer.Windows.MonitorType.Database.TransactionLogSpaceFreePercent" ConfirmDelivery="false">
<Category>PerformanceHealth</Category>
<AlertSettings AlertMessage="Microsoft.SQLServer.Windows.Monitor.Database.TransactionLogSpaceFreePercent.AlertMessage">
<AlertOnState>Error</AlertOnState>
<AutoResolve>true</AutoResolve>
<AlertPriority>Normal</AlertPriority>
<AlertSeverity>Error</AlertSeverity>
<AlertParameters>
<AlertParameter1>$Target/Property[Type="SqlCoreLib!Microsoft.SQLServer.Core.Database"]/DatabaseName$</AlertParameter1>
<AlertParameter2>$Target/Host/Property[Type="SqlCoreLib!Microsoft.SQLServer.Core.DBEngine"]/InstanceName$</AlertParameter2>
<AlertParameter3>$Target/Host/Property[Type="SqlCoreLib!Microsoft.SQLServer.Core.DBEngine"]/MachineName$</AlertParameter3>
</AlertParameters>
</AlertSettings>
<OperationalStates>
<OperationalState ID="Normal" MonitorTypeStateID="Normal" HealthState="Success"/>
<OperationalState ID="Error" MonitorTypeStateID="Error" HealthState="Error"/>
</OperationalStates>
<Configuration>
<MachineName>$Target/Host/Property[Type="SqlCoreLib!Microsoft.SQLServer.Core.DBEngine"]/MachineName$</MachineName>
<InstanceName>$Target/Host/Property[Type="SqlCoreLib!Microsoft.SQLServer.Core.DBEngine"]/InstanceName$</InstanceName>
<DatabaseName>$Target/Property[Type="SqlCoreLib!Microsoft.SQLServer.Core.Database"]/DatabaseName$</DatabaseName>
<AzureMaxFileSizeMB>1048576</AzureMaxFileSizeMB>
<ObjectName>$Target/Host/Property[Type="SqlCoreLib!Microsoft.SQLServer.Core.DBEngine"]/PerformanceCounterObject$:TransactionLog</ObjectName>
<CounterName>Log Free Space (%)</CounterName>
<PerfInstanceName/>
<ValuePropertyName>DBLogFreeSpacePercent</ValuePropertyName>
<Threshold>10</Threshold>
<NumSamples>6</NumSamples>
<ConnectionString>$Target/Host/Property[Type="SqlCoreLib!Microsoft.SQLServer.Core.DBEngine"]/ConnectionString$</ConnectionString>
<MonitoringType>$Target/Host/Property[Type="SqlDiscW!Microsoft.SQLServer.Windows.DBEngine"]/MonitoringType$</MonitoringType>
<SqlTimeoutSeconds>15</SqlTimeoutSeconds>
<TimeoutSeconds>200</TimeoutSeconds>
<IntervalSeconds>300</IntervalSeconds>
<SyncTime/>
</Configuration>
</UnitMonitor>