Отслеживает объем места, доступного в файлах журнала в процентах от места на носителе, где размещается журнал.
Отслеживает объем места, доступного в файлах журнала и на носителе, на котором размещаются файлы журнала. Место, доступное на носителе, на котором размещаются файлы журнала, рассматривается как часть доступного места, только если хотя бы для одного из файлов разрешено автоматическое увеличение, а для параметра «Включить место на диске» для объекта файловой группы установлено значение TRUE.
Неисправное состояние вызывается недостатком свободного места во всех файлах журнала. Нехватка доступного места может быть вызвана следующими причинами:
неверные параметры конфигурации (размер, максимальный размер, автоматическое увеличение и т. д.);
нехватка оставшегося места на носителе.
отсутствие периодических резервных копий;
журнал не усекается.
Для параметра «Включить место на диске» монитора установлено значение FALSE для рабочих нагрузок, при которых предполагается, что файлы должны увеличиваться.
Следующая ссылка позволяет просмотреть данные производительности: Данные производительности базы данных
Монитор отслеживает общее место, доступное для каждого файла журнала в базе данных, в зависимости от конфигурации каждого файла.
Автоматическое увеличение не разрешено
Для файла без автоматического увеличения доступное место будет равно разности между начальным размером файла и используемым местом.
Автоматическое увеличение разрешено
В дополнение к разности между размером и используемым местом доступное место для файлов с разрешенным автоматическим увеличением будет равно минимуму из двух значений: разность между максимальным размером и размером файла или объем свободного места, оставшегося на диске.
Недостаток доступного места для файлов журнала базы данных с автоматическим увеличением может означать, что файл достиг предельного значения для логического диска, на котором он размещен. Для файлов с разрешенным автоматическим увеличением с максимальным размером нехватка доступного места может также означать, что файл достигает максимального размера, заданного для файла.
При вычислениях доступного места нужно учитывать, что увеличить файл не удастся, если размер увеличения файла больше объема оставшегося на диске места, и что файл не может увеличиться, если разность между максимальным размером и текущим размером файла меньше значения увеличения. В таких ситуациях доступное свободное место, оставшееся на диске, не рассматривается как часть доступного места, поскольку файл больше не может увеличиваться.
Эта проблема может быть устранена следующим образом.
Увеличение выделенного размера для файлов журнала, если автоматическое увеличение не разрешено
Увеличение значения максимального размера для файла журнала, если разрешено автоматическое увеличение
Включение автоматического увеличения хотя бы для одного файла
Перемещение файлов журнала на другой диск с большим свободным местом, если ограниченно место для увеличения файлов
Регулярное выполнение резервного копирования файлов журнала для режимов восстановления FULL и BULK-LOGGED
Определение причины, почему журнал не усекается.
Давно открытые выполняющиеся активные транзакции
Давно выполняющиеся операции резервного копирования
Реплицированная транзакция давно открыта (репликация транзакций)
Зеркальный сервер запаздывает относительно основного сервера (зеркальное отображение базы данных)
Установите для параметра «Включить место на диске» этого монитора значение TRUE для рабочих нагрузок, при которых предполагается, что файлы должны увеличиваться.
Изменение пороговых значений для этого монитора для обеспечения соответствия рабочей нагрузке
Альтернативный вариант, если доступное место для файла журнала не имеет значения для базы данных:
Отключите данный монитор для этой базы данных или для всех баз данных.
См. электронную документацию по SQL Server. Архитектура файлов и файловых групп
Target | Microsoft.SQLServer.2008.Database | ||
Parent Monitor | Microsoft.SQLServer.2008.Database.DBSpaceMonitor | ||
Category | PerformanceHealth | ||
Enabled | False | ||
Alert Generate | True | ||
Alert Severity | MatchMonitorHealth | ||
Alert Priority | Normal | ||
Alert Auto Resolve | True | ||
Monitor Type | Microsoft.SQLServer.2008.DBAndLogSizeMonitorType | ||
Remotable | True | ||
Accessibility | Public | ||
Alert Message |
| ||
RunAs | Default |
<UnitMonitor ID="Microsoft.SQLServer.2008.Database.TransactionLogSizePercentMonitor" Accessibility="Public" Enabled="false" Target="SQL2008Core!Microsoft.SQLServer.2008.Database" ParentMonitorID="Microsoft.SQLServer.2008.Database.DBSpaceMonitor" Remotable="true" Priority="Normal" TypeID="Microsoft.SQLServer.2008.DBAndLogSizeMonitorType" ConfirmDelivery="false">
<Category>PerformanceHealth</Category>
<AlertSettings AlertMessage="Microsoft.SQLServer.2008.Database.TransactionLogSizePercentMonitor.AlertMessage">
<AlertOnState>Warning</AlertOnState>
<AutoResolve>true</AutoResolve>
<AlertPriority>Normal</AlertPriority>
<AlertSeverity>MatchMonitorHealth</AlertSeverity>
<AlertParameters>
<AlertParameter1>$Target/Host/Host/Property[Type="Windows!Microsoft.Windows.Computer"]/NetworkName$</AlertParameter1>
<AlertParameter2>$Target/Host/Property[Type="SQL!Microsoft.SQLServer.ServerRole"]/InstanceName$</AlertParameter2>
<AlertParameter3>$Target/Property[Type="SQL!Microsoft.SQLServer.Database"]/DatabaseName$</AlertParameter3>
</AlertParameters>
</AlertSettings>
<OperationalStates>
<OperationalState ID="UnderThreshold1" MonitorTypeStateID="UnderThreshold1" HealthState="Error"/>
<OperationalState ID="OverThreshold1UnderThreshold2" MonitorTypeStateID="OverThreshold1UnderThreshold2" HealthState="Warning"/>
<OperationalState ID="OverThreshold2" MonitorTypeStateID="OverThreshold2" HealthState="Success"/>
</OperationalStates>
<Configuration>
<IntervalSeconds>900</IntervalSeconds>
<SyncTime/>
<ConnectionString>$Target/Host/Property[Type="SQL!Microsoft.SQLServer.DBEngine"]/ConnectionString$</ConnectionString>
<ServerName>$Target/Host/Host/Property[Type="Windows!Microsoft.Windows.Computer"]/NetworkName$</ServerName>
<SqlInstanceName>$Target/Host/Property[Type="SQL!Microsoft.SQLServer.ServerRole"]/InstanceName$</SqlInstanceName>
<ObjectName>$Target/Host/Property[Type="SQL!Microsoft.SQLServer.DBEngine"]/PerformanceCounterObject$:TransactionLog</ObjectName>
<CounterName>Log Free Space (%)</CounterName>
<InstanceName>$Data/Property[@Name='Database']$</InstanceName>
<DatabaseName>$Target/Property[Type="SQL!Microsoft.SQLServer.Database"]/DatabaseName$</DatabaseName>
<Value>$Data/Property[@Name='DBLogFreeSpacePercent']$</Value>
<Threshold1>10</Threshold1>
<Threshold2>20</Threshold2>
<TimeoutSeconds>300</TimeoutSeconds>
</Configuration>
</UnitMonitor>