Конфигурация автоматического создания статистики

Microsoft.SQLServer.2008.Database.Configuration.AutoCreateStat (UnitMonitor)

Отслеживает параметр автоматического создания статистики для базы данных

Knowledge Base article:

Сводка

Монитор проверяет значение параметра "Автоматическое создание статистики" для базы данных. Поскольку монитор является частью общих требований стандарта, будет выдано предупреждение, если параметр не будет соответствовать указанному стандарту.

Для создания точных планов оптимизатору запросов требуется последняя точная статистика. В большинстве случаев лучше позволить SQL Server вести статистику. Если параметры Auto Create Stats и Auto Update Stats отключены, обеспечить актуальность статистики должны вы. Несоблюдение этого условия приведет к низкой производительности запросов. В большинстве приложений для этих параметров необходимо установить значение ON (Включено).

Настройка

Если для параметра автоматического создания статистики задано значение ON, оптимизатор запросов в случае необходимости создает статистику по одному или нескольким столбцам в таблице индексированного представления, чтобы улучшить планы запросов и повысить производительность запросов.

AUTO_CREATE_STATISTICS {ON | OFF}

Причины

Если этот параметр не соответствует требуемому значению, формируется предупреждение. Монитор настроен для создания предупреждения, когда данный параметр имеет значение OFF.

Решения

Эта проблема может быть устранена следующим образом.

Либо, если монитор неважен для базы данных:

Внешнее

См. дополнительные сведения об этих настройках: Параметры ALTER DATABASE SET (Transact-SQL).

См. также " Использование статистики для повышения производительности запросов".

Переопределяемые параметры

Имя

Описание

Значение по умолчанию

Приоритет предупреждения

Определяет приоритет предупреждения.

Обычные

Серьезность предупреждения

Определяет серьезность предупреждения.

Предупреждение

Отключить проверку для SQL Express

Включает или отключает проверку версии SQL Express.

Нет

Включено

Включает или отключает рабочий процесс.

Нет

Ожидаемое значение

Перечень возможных значений см. в разделе "Конфигурация" статьи базы знаний для этого монитора.

ВКЛ.

Создает предупреждения

Определяет, создает ли рабочий процесс предупреждения.

Да

Интервал (в секундах)

Повторяющийся интервал времени в секундах, по истечении которого запускается рабочий процесс.

43200

Время ожидания (в секундах)

Определяет время, в течение которого возможно выполнение рабочего процесса перед закрытием и пометкой как сбойный.

300

Element properties:

TargetMicrosoft.SQLServer.2008.Database
Parent MonitorMicrosoft.SQLServer.2008.Database.AutomaticConfiguration
CategoryConfigurationHealth
EnabledFalse
Alert GenerateTrue
Alert SeverityWarning
Alert PriorityNormal
Alert Auto ResolveTrue
Monitor TypeMicrosoft.SQLServer.2008.DBConfigurationStatus
RemotableTrue
AccessibilityPublic
Alert Message
Ошибка конфигурации автоматического создания статистики
Параметр автоматического создания статистики для базы данных "{0}" в экземпляре SQL Server "{1}" на компьютере "{2}" не соответствует рекомендациям.
RunAsDefault

Source Code:

<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>