Отслеживает свободное место в базе данных в процентах от места на носителе, на котором размещается база данных.
Отслеживает свободное место в базе данных и на носителе, где она размещена. Свободное место на носителе, на котором размещается база данных, включается в общее свободное место, только если по крайней мере для одного из файлов включено автоматическое увеличение.
Неработоспособное состояние вызвано нехваткой свободного места для всех файлов базы данных. Нехватка свободного места может быть вызвана следующими причинами:
неверные параметры конфигурации (размер, максимальный размер, автоматическое увеличение и т. д.);
На носителе осталось слишком мало места.
Для просмотра данных о производительности используются следующие ссылки: Данные о производительности базы данных
Этот монитор вычисляет доступное место для каждого файла в базе данных в зависимости от конфигурации каждого файла:
Автоматическое увеличение не разрешено
Для файла без автоматического увеличения размера свободное место будет равно разности между первоначальным размером и используемым местом.
Автоматическое увеличение разрешено
В дополнение к разности между размером файла и используемым местом доступное место для файлов со включенным автоматическим увеличением будет равно меньшему из двух значений: разность между максимальным размером и размером файла или объем свободного места, оставшегося на диске.
Малый объем доступного места для файлов базы данных с автоматическим увеличением может означать, что файл почти достиг предельного значения для логического диска, на котором он размещен. Для файлов с разрешенным автоматическим увеличением и заданным максимальным размером малый объем доступного места также может означать, что файл почти достиг максимального заданного размера.
При расчете доступного пространства также необходимо принимать во внимание, что файл может не увеличиваться, если размер увеличения файла больше, чем свободное пространство на диске. Кроме того, увеличение невозможно, если разница между максимальным размером и текущим размером файла меньше размера увеличения. В таких ситуациях свободное место на диске не включается в доступное пространство, так как дальнейшее увеличение файла невозможно.
Эта проблема может быть устранена следующим образом.
Увеличение размера, выделенного для файла или для всех файлов в файловой группе, если автоматическое увеличение отключено.
Увеличение максимального размера для файла, если автоматическое увеличение разрешено
Включение автоматического увеличения хотя бы для одного файла
Перенос файлов на другой диск с большим свободным местом, если ограничено место для увеличения файлов
Изменение пороговых значений для этого монитора для обеспечения соответствия рабочей нагрузке
Альтернативный вариант, если общее место в базе данных неважно:
Отключить монитор для указанной файловой группы или всех файловых групп
См. электронную документацию по SQL Server: Архитектура файлов и файловых групп.
Имя | Описание | Значение по умолчанию |
Приоритет предупреждения | Определяет приоритет предупреждения. | Высокий |
Серьезность предупреждения | Определяет серьезность предупреждения. | MatchMonitorHealth |
Включено | Включает или отключает рабочий процесс. | Нет |
Создает предупреждения | Определяет, создает ли рабочий процесс предупреждения. | Да |
Интервал (в секундах) | Повторяющийся интервал времени в секундах, по истечении которого запускается рабочий процесс. | 900 |
Нижнее пороговое значение | Нижнее пороговое значение для этого монитора. | 10 |
Время синхронизации | Время синхронизации указывается в 24-часовом формате и может быть опущено. |
|
Время ожидания (в секундах) | Определяет время, в течение которого возможно выполнение рабочего процесса перед закрытием и пометкой как сбойный. | 300 |
Верхнее пороговое значение | Верхнее пороговое значение для этого монитора. | 20 |
Target | Microsoft.SQLServer.2008.Database | ||
Parent Monitor | Microsoft.SQLServer.2008.Database.DBSpaceMonitor | ||
Category | PerformanceHealth | ||
Enabled | False | ||
Alert Generate | True | ||
Alert Severity | MatchMonitorHealth | ||
Alert Priority | High | ||
Alert Auto Resolve | True | ||
Monitor Type | Microsoft.SQLServer.2008.DBAndLogSizeMonitorType | ||
Remotable | True | ||
Accessibility | Public | ||
Alert Message |
| ||
RunAs | Default |
<UnitMonitor ID="Microsoft.SQLServer.2008.Database.DBSizePercentMonitor" 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.DBSizePercentMonitor.AlertMessage">
<AlertOnState>Warning</AlertOnState>
<AutoResolve>true</AutoResolve>
<AlertPriority>High</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>
<AlertParameter4>$Data/Context/Property[@Name='DBFreeSpaceMB']$</AlertParameter4>
<AlertParameter5>$Data/Context/Property[@Name='DBFreeSpacePercent']$</AlertParameter5>
</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>
<DatabaseName>$Target/Property[Type="SQL!Microsoft.SQLServer.Database"]/DatabaseName$</DatabaseName>
<Value>Property[@Name='DBFreeSpacePercent']</Value>
<Threshold1>10</Threshold1>
<Threshold2>20</Threshold2>
<TimeoutSeconds>300</TimeoutSeconds>
</Configuration>
</UnitMonitor>