Configuración de creación automática de estadísticas

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

Supervisa la configuración de creación automática de estadísticas para la base de datos. Nota: este monitor está deshabilitado de manera predeterminada. Use las invalidaciones para habilitarla cuando sea necesario.

Knowledge Base article:

Resumen

Este monitor comprueba el valor de configuración Crear estadísticas automáticamente de esta base de datos. Debido a que este monitor forma parte de un requisito de estándares globales, se generará una alerta si la configuración no cumple el estándar especificado.

El optimizador de consultas necesita estadísticas actualizadas y precisas para generar buenos planes. En la mayoría de los casos, lo mejor es dejar que SQL Server realice el mantenimiento de las estadísticas. Si se desactiva “Crear estadísticas automáticamente” y “Actualizar estadísticas automáticamente”, depende del usuario que se mantengan actualizadas las estadísticas. De no hacerlo, el rendimiento de las consultas sería deficiente. La mayoría de las aplicaciones tienen activadas estas opciones.

Configuración

Si la configuración Crear estadísticas automáticamente se establece en ON, el optimizador de consultas crea las estadísticas en una o más columnas de una tabla de vista indizada, según sea necesario, para mejorar los planes de consulta y el rendimiento de las consultas.

AUTO_CREATE_STATISTICS {ON | OFF}

Causas

Si la opción no coincide con la configuración necesaria, se generará una alerta de advertencia. De fábrica, este monitor está configurado para generar una alerta cuando este valor de configuración se establezca en “OFF”.

Soluciones

Para solucionar este problema puede:

Por otro lado, si este monitor no constituye un problema para la base de datos:

Externo

Vea información más detallada acerca de esta configuración: Opciones de ALTER DATABASE SET (Transact-SQL)

Vea también “ Uso de estadísticas para la mejora del rendimiento de las consultas

Parámetros invalidables

Nombre

Descripción

Valor predeterminado

Habilitado

 

No

Deshabilitar comprobación para SQL Express

Solo se puede definir como 'true' o 'false'. El flujo de trabajo no considerará la edición de SQL Server Express si se define como 'true'.

0

Valor esperado

Valor de configuración de base de datos esperado. Para ver el conjunto de valores aplicables, consulte la sección "Configuración" del artículo de Knowledge Base de este monitor.

ACTIVAR

Genera alertas

 

Intervalo (segundos)

Intervalo de tiempo periódico en segundos en que se ejecuta el flujo de trabajo.

43200

Tiempo de espera (segundos)

Especifica el tiempo durante el que se puede ejecutar el flujo de trabajo antes de que se cierre y se marque como error.

300

Element properties:

TargetMicrosoft.SQLServer.2014.Database
Parent MonitorMicrosoft.SQLServer.2014.Database.AutomaticConfiguration
CategoryConfigurationHealth
EnabledFalse
Alert GenerateTrue
Alert SeverityWarning
Alert PriorityNormal
Alert Auto ResolveTrue
Monitor TypeMicrosoft.SQLServer.2014.DBConfigurationStatus
RemotableTrue
AccessibilityPublic
Alert Message
MSSQL 2014: error de configuración de creación automática de estadísticas
La configuración de creación automática de estadísticas de la base de datos "{0}" en la instancia de SQL "{1}" del equipo "{2}" no está establecida según el procedimiento recomendado.
RunAsDefault

Source Code:

<UnitMonitor ID="Microsoft.SQLServer.2014.Database.Configuration.AutoCreateStat" Accessibility="Public" Enabled="false" Target="SQL2014Core!Microsoft.SQLServer.2014.Database" ParentMonitorID="Microsoft.SQLServer.2014.Database.AutomaticConfiguration" Remotable="true" Priority="Normal" TypeID="Microsoft.SQLServer.2014.DBConfigurationStatus" ConfirmDelivery="false">
<Category>ConfigurationHealth</Category>
<AlertSettings AlertMessage="Microsoft.SQLServer.2014.Database.Configuration.AutoCreateStat.AlertMessage">
<AlertOnState>Warning</AlertOnState>
<AutoResolve>true</AutoResolve>
<AlertPriority>Normal</AlertPriority>
<AlertSeverity>Warning</AlertSeverity>
<AlertParameters>
<AlertParameter1>$Target/Property[Type="SQL2014Core!Microsoft.SQLServer.2014.Database"]/DatabaseName$</AlertParameter1>
<AlertParameter2>$Target/Host/Property[Type="SQL2014Core!Microsoft.SQLServer.2014.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="SQL2014Core!Microsoft.SQLServer.2014.DBEngine"]/ConnectionString$</ConnectionString>
<DatabaseName>$Target/Property[Type="SQL2014Core!Microsoft.SQLServer.2014.Database"]/DatabaseName$</DatabaseName>
<IntervalSeconds>43200</IntervalSeconds>
<SyncTime/>
<ConfigValue>AutoCreateStat</ConfigValue>
<ExpectedValue>ON</ExpectedValue>
<ExcludeOnExpress>false</ExcludeOnExpress>
<SQLSKU>$Target/Host/Property[Type="SQL2014Core!Microsoft.SQLServer.2014.DBEngine"]/Edition$</SQLSKU>
<TimeoutSeconds>300</TimeoutSeconds>
</Configuration>
</UnitMonitor>