Отслеживает параметр автоматического закрытия для базы данных
Монитор проверяет значение параметра автоматического закрытия для одной базы данных. Поскольку монитор является частью общих требований стандарта, будет выдано предупреждение, если параметр не будет соответствовать указанному стандарту.
Параметр AUTO_CLOSE полезен для баз данных в настольных системах, поскольку он позволяет управлять файлами базы данных так же, как и обычными файлами. Они могут быть перемещены, скопированы для создания резервной копии или даже переданы по электронной почте другим пользователям. Однако если параметр базы данных AUTOCLOSE установлен в значение ON, то действия, инициирующие автоматическое закрытие базы данных, очищают кэш планов для экземпляра SQL Server. Очистка кэша планов становится причиной перекомпиляции всех последующих планов выполнения и может приводить к непредвиденному временному снижению производительности обработки запросов.
Зеркальное отображение базы данных требует, чтобы параметр AUTO_CLOSE был установлен в состояние OFF.
Функцию автоматического закрытия разумно использовать только в случае, если при работе приложения база данных остается закрытой в течение продолжительных периодов. Параметр AUTO_CLOSE ON может быть полезен в однопользовательских приложениях и в некоторых ситуациях, когда в базе данных размещается несколько приложений. Обычно не рекомендуется его использовать, если отсутствует глубокое понимание режимов работы приложения и закономерностей использования
|
Если параметр Auto Close имеет значение ON, после выхода из системы последнего пользователя база данных верно завершает работу, а используемые ею ресурсы освобождаются.
AUTO_CLOSE {ON | OFF}
Если значение параметра Auto Close не соответствует требуемому, формируется предупреждение. Монитор настроен для создания предупреждения, если для данного параметра задано значение ON.
Эта проблема может быть устранена следующим образом.
Изменение параметра конфигурации для этой базы данных для обеспечения соответствия ожидаемому значению.
Переопределение ожидаемого значения для монитора этого компонента для одной или всех баз данных.
Либо, если монитор неважен для базы данных:
отключение монитора с помощью переопределения параметров для одной или всех баз данных;
отключение монитора агрегатной конфигурации верхнего уровня с помощью переопределения для одной или всех баз данных.
Имя | Описание | Значение по умолчанию |
Приоритет предупреждения | Определяет приоритет предупреждения. | Обычные |
Серьезность предупреждения | Определяет серьезность предупреждения. | Предупреждение |
Отключить проверку для 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.AutoClose" 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.AutoClose.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>AutoClose</ConfigValue>
<ExpectedValue>OFF</ExpectedValue>
<ExcludeOnExpress>true</ExcludeOnExpress>
<SQLSKU>$Target/Host/Property[Type="SQL!Microsoft.SQLServer.DBEngine"]/Edition$</SQLSKU>
<TimeoutSeconds>300</TimeoutSeconds>
</Configuration>
</UnitMonitor>