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