Отслеживает параметр автоматического сжатия для базы данных
Монитор проверяет значение параметра автоматического сжатия для базы данных. Поскольку монитор является частью общих требований стандарта, будет выдано предупреждение, если параметр не будет соответствовать указанному стандарту.
При установке параметра автоматического сжатия статистики в значение ON файлы базы данных подлежат периодическому сжатию. И файлы данных, и файлы журналов могут быть автоматически сжаты. Автоматическое сжатие уменьшает размер журнала транзакций только в случае, если выбрана простая модель восстановления базы данных или была создана резервная копия журнала. Если этот параметр установлен в состояние OFF, файлы базы данных не будут автоматически сжиматься при периодической проверке на неиспользуемое пространство. При включенном параметре AUTO_SHRINK файлы будут сжаты, если более 25 процентов файла содержит неиспользуемое пространство. Файл будет сжат до размера, в котором 25 процентов файла — неиспользуемое место, или до того размера, который был у файла при создании, в зависимости от того, какая величина больше. Нельзя сжать базу данных, находящуюся в состоянии только для чтения.
Использование автоматического сжатия может привести к излишней фрагментации индекса, увеличению размера журнала транзакций и количества операций ввода-вывода. Автоматическое сжатие следует использовать только в случае, если вероятность дальнейшего увеличения базы данных мала и после сжатия можно выполнить инструкцию ALTER INDEX REORGANIZE.
AUTO_SHRINK {ON | OFF}
Если параметр не соответствует требуемому значению, формируется предупреждение. Монитор настроен для создания предупреждения, если для данного параметра задано значение ON.
Эта проблема может быть устранена следующим образом.
Изменение параметра конфигурации для этой базы данных для обеспечения соответствия ожидаемому значению.
Переопределение ожидаемого значения для монитора этого компонента для одной или всех баз данных.
Либо, если монитор неважен для базы данных:
отключение монитора с помощью переопределения параметров для одной или всех баз данных;
отключение монитора агрегатной конфигурации верхнего уровня с помощью переопределения для одной или всех баз данных.
См. дополнительные сведения об этих настройках: Параметры ALTER DATABASE SET (Transact-SQL).
Имя | Описание | Значение по умолчанию |
Приоритет предупреждения | Определяет приоритет предупреждения. | Обычные |
Серьезность предупреждения | Определяет серьезность предупреждения. | Предупреждение |
Отключить проверку для SQL Express | Включает или отключает проверку версии SQL Express. | Нет |
Включено | Включает или отключает рабочий процесс. | Нет |
Ожидаемое значение | Перечень возможных значений см. в разделе "Конфигурация" статьи базы знаний для этого монитора. | ВЫКЛ. |
Создает предупреждения | Определяет, создает ли рабочий процесс предупреждения. | Да |
Интервал (с) | Интервал перед повторным запуском рабочего процесса (в секундах). | 43200 |
Время ожидания (секунды) | Задает допустимое время выполнения рабочего процесса, перед тем как он будет закрыт и отмечен как сбойный. | 300 |
Target | Microsoft.SQLServer.2012.Database | ||
Parent Monitor | Microsoft.SQLServer.2012.Database.AutomaticConfiguration | ||
Category | ConfigurationHealth | ||
Enabled | False | ||
Alert Generate | True | ||
Alert Severity | Warning | ||
Alert Priority | Normal | ||
Alert Auto Resolve | True | ||
Monitor Type | Microsoft.SQLServer.2012.DBConfigurationStatus | ||
Remotable | True | ||
Accessibility | Public | ||
Alert Message |
| ||
RunAs | Default |
<UnitMonitor ID="Microsoft.SQLServer.2012.Database.Configuration.AutoShrink" Accessibility="Public" Enabled="false" Target="SQL2012Core!Microsoft.SQLServer.2012.Database" ParentMonitorID="Microsoft.SQLServer.2012.Database.AutomaticConfiguration" Remotable="true" Priority="Normal" TypeID="Microsoft.SQLServer.2012.DBConfigurationStatus" ConfirmDelivery="false">
<Category>ConfigurationHealth</Category>
<AlertSettings AlertMessage="Microsoft.SQLServer.2012.Database.Configuration.AutoShrink.AlertMessage">
<AlertOnState>Warning</AlertOnState>
<AutoResolve>true</AutoResolve>
<AlertPriority>Normal</AlertPriority>
<AlertSeverity>Warning</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>
<OperationalStates>
<OperationalState ID="ConfigurationValueOK" MonitorTypeStateID="ConfigurationValueOK" HealthState="Success"/>
<OperationalState ID="ConfigurationValueNotOK" MonitorTypeStateID="ConfigurationValueNotOK" HealthState="Warning"/>
</OperationalStates>
<Configuration>
<ConnectionString>$Target/Host/Property[Type="SQL!Microsoft.SQLServer.DBEngine"]/ConnectionString$</ConnectionString>
<DatabaseName>$Target/Property[Type="SQL!Microsoft.SQLServer.Database"]/DatabaseName$</DatabaseName>
<IntervalSeconds>43200</IntervalSeconds>
<SyncTime/>
<ConfigValue>AutoShrink</ConfigValue>
<ExpectedValue>OFF</ExpectedValue>
<ExcludeOnExpress>false</ExcludeOnExpress>
<SQLSKU>$Target/Host/Property[Type="SQL!Microsoft.SQLServer.DBEngine"]/Edition$</SQLSKU>
<TimeoutSeconds>300</TimeoutSeconds>
</Configuration>
</UnitMonitor>