Отслеживает параметр автоматического создания статистики для базы данных
Монитор проверяет значение параметра «Автоматическое создание статистики» для базы данных. Поскольку монитор является частью общих требований стандарта, будет выдано предупреждение, если параметр не будет соответствовать указанному стандарту.
Для создания точных планов оптимизатору запросов требуется последняя точная статистика. В большинстве случаев лучше позволить SQL Server вести статистику. Если параметры «Auto Create Stats» и «Auto Update Stats» отключены, обеспечить актуальность статистики должен пользователь. Несоблюдение этого условия приведет к низкой производительности запросов. В большинстве приложений для этих параметров необходимо установить значение ON.
Если для параметра автоматического создания статистики задано значение ON, оптимизатор запросов в случае необходимости создает статистику по одному или нескольким столбцам в таблице индексированного представления, чтобы улучшить планы запросов и повысить производительность запросов.
AUTO_CREATE_STATISTICS {ON | OFF}
Если этот параметр не соответствует требуемому значению, формируется предупреждение. Монитор настроен для создания предупреждения, когда данный параметр имеет значение OFF.
Эта проблема может быть устранена следующим образом.
Изменение параметра конфигурации для этой базы данных для обеспечения соответствия ожидаемому значению.
Переопределение ожидаемого значения для монитора этого компонента для одной или всех баз данных.
Либо, если монитор неважен для базы данных:
отключение монитора с помощью переопределения параметров для одной или всех баз данных;
отключение монитора агрегатной конфигурации верхнего уровня с помощью переопределения для одной или всех баз данных.
См. дополнительные сведения об этих настройках: Параметры ALTER DATABASE SET (Transact-SQL)
См. также Использование статистики для повышения производительности запросов
Target | Microsoft.SQLServer.2008.Database | ||
Parent Monitor | Microsoft.SQLServer.2008.Database.AutomaticConfiguration | ||
Category | ConfigurationHealth | ||
Enabled | False | ||
Alert Generate | True | ||
Alert Severity | Warning | ||
Alert Priority | Normal | ||
Alert Auto Resolve | True | ||
Monitor Type | Microsoft.SQLServer.2008.DBConfigurationStatus | ||
Remotable | True | ||
Accessibility | Public | ||
Alert Message |
| ||
RunAs | Default |
<UnitMonitor ID="Microsoft.SQLServer.2008.Database.Configuration.AutoCreateStat" Accessibility="Public" Enabled="false" Target="SQL2008Core!Microsoft.SQLServer.2008.Database" ParentMonitorID="Microsoft.SQLServer.2008.Database.AutomaticConfiguration" Remotable="true" Priority="Normal" TypeID="Microsoft.SQLServer.2008.DBConfigurationStatus" ConfirmDelivery="false">
<Category>ConfigurationHealth</Category>
<AlertSettings AlertMessage="Microsoft.SQLServer.2008.Database.Configuration.AutoCreateStat.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>AutoCreateStat</ConfigValue>
<ExpectedValue>ON</ExpectedValue>
<ExcludeOnExpress>false</ExcludeOnExpress>
<SQLSKU>$Target/Host/Property[Type="SQL!Microsoft.SQLServer.DBEngine"]/Edition$</SQLSKU>
<TimeoutSeconds>300</TimeoutSeconds>
</Configuration>
</UnitMonitor>