Supervisa el valor Actualización de estadísticas automática y asincrónica de la base de datos. Nota: Este monitor está deshabilitado de forma predeterminada. Use invalidaciones para habilitarlo cuando sea necesario.
Este monitor comprueba el valor de Actualizar estadísticas automática y asincrónicamente 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.
Si el valor de Actualizar estadísticas automática y asincrónicamente se establece en ON, las actualizaciones de las estadísticas para la opción AUTO_UPDATE_STATISTICS son asincrónicas. El optimizador de consultas no espera a que finalicen las actualizaciones de las estadísticas para compilar las consultas. La configuración de esta opción en ON no surte efecto a menos que AUTO_UPDATE_STATISTICS se establezca en ON.
AUTO_UPDATE_STATISTICS_ASYNC {ON | OFF}
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 “ON”.
El motivo de que esta opción de base de datos se establezca en OFF de forma predeterminada es para mantener la compatibilidad con las aplicaciones existentes. Como las consultas no esperan ni bloquean las actualizaciones de las estadísticas, existe la posibilidad de cambios temporales en el rendimiento si una consulta se compila y ejecuta con estadísticas anteriores. Después de que se realice la actualización de las estadísticas, la misma consulta se vuelve a compilar con las estadísticas actualizadas antes de la siguiente ejecución. Pero mientras se actualizan las estadísticas, la consulta podría tener problemas de rendimiento temporales ya que se compiló con las estadísticas anteriores.
Probablemente, la actualización ASYNC sea la mejor opción para la mayoría de aplicaciones, ya que minimiza el bloqueo y la espera generales. Considere la posibilidad de activarla y, si funciona para su aplicación, deshabilite este monitor de unidad.
Para solucionar este problema puede:
Se está cambiando la opción de configuración de esta base de datos para que coincida con el valor esperado.
Reemplazar el valor esperado de este monitor de unidad para esta base de datos específica o para todas las bases de datos.
Como alternativa, si este monitor no constituye un problema para esta base de datos:
Deshabilitar este monitor mediante invalidaciones para esta base de datos específica o para todas las bases de datos.
Deshabilitar el monitor de configuración de agregado de nivel superior con invalidaciones para esta base de datos específica o para todas las bases de datos.
Vea información más detallada sobre este valor: Opciones de ALTER DATABASE SET (Transact-SQL)
Vea también “ Usar las estadísticas para mejorar el rendimiento de las consultas”.
Nombre | Descripción | Valor predeterminado |
Prioridad de la alerta | Define la prioridad de alerta. | Normal |
Gravedad de la alerta | Define la gravedad de alerta. | Advertencia |
Habilitado | Habilita o deshabilita el flujo de trabajo. | No |
Valor esperado | Se esperaba un valor de configuración de la base de datos. Para ver el conjunto de valores aplicables, consulte la sección "Configuración" del artículo de la knowledge base de este monitor. | Desactivado |
Genera alertas. | Define si el flujo de trabajo genera una alerta. | Sí |
Intervalo (segundos) | Intervalo de tiempo periódico en segundos en que se ejecuta el flujo de trabajo. | 43200 |
Hora de sincronización | Hora de sincronización especificada en un formato de 24 horas. Se puede omitir. |
|
Tiempo de espera (segundos) | Especifica el tiempo que el flujo de trabajo se puede ejecutar antes de cerrarlo y marcarlo como erróneo. | 300 |
Tiempo de expiración de la conexión de base de datos (segundos) | Se producirá un error en el flujo de trabajo y se registrará un evento si no puede obtener acceso a la base de datos durante el período especificado. | 15 |
Target | Microsoft.SQLServer.Windows.Database | ||
Parent Monitor | Microsoft.SQLServer.Windows.Rollup.Database.AutomaticConfiguration | ||
Category | ConfigurationHealth | ||
Enabled | False | ||
Alert Generate | True | ||
Alert Severity | Warning | ||
Alert Priority | Normal | ||
Alert Auto Resolve | True | ||
Monitor Type | Microsoft.SQLServer.Windows.MonitorType.Database.DBConfigurationStatus | ||
Remotable | True | ||
Accessibility | Public | ||
Alert Message |
| ||
RunAs | Default |
<UnitMonitor ID="Microsoft.SQLServer.Windows.Monitor.Database.AutoUpdateStatAsyncConfiguration" Accessibility="Public" Enabled="false" Target="SqlDiscW!Microsoft.SQLServer.Windows.Database" ParentMonitorID="Microsoft.SQLServer.Windows.Rollup.Database.AutomaticConfiguration" Remotable="true" Priority="Normal" TypeID="Microsoft.SQLServer.Windows.MonitorType.Database.DBConfigurationStatus" ConfirmDelivery="false">
<Category>ConfigurationHealth</Category>
<AlertSettings AlertMessage="Microsoft.SQLServer.Windows.Monitor.Database.AutoUpdateStatAsyncConfiguration.AlertMessage">
<AlertOnState>Warning</AlertOnState>
<AutoResolve>true</AutoResolve>
<AlertPriority>Normal</AlertPriority>
<AlertSeverity>Warning</AlertSeverity>
<AlertParameters>
<AlertParameter1>$Target/Host/Property[Type="SqlCoreLib!Microsoft.SQLServer.Core.DBEngine"]/MachineName$</AlertParameter1>
<AlertParameter2>$Target/Host/Property[Type="SqlCoreLib!Microsoft.SQLServer.Core.DBEngine"]/InstanceName$</AlertParameter2>
<AlertParameter3>$Target/Property[Type="SqlCoreLib!Microsoft.SQLServer.Core.Database"]/DatabaseName$</AlertParameter3>
</AlertParameters>
</AlertSettings>
<OperationalStates>
<OperationalState ID="ConfigurationValueOK" MonitorTypeStateID="ConfigurationValueOK" HealthState="Success"/>
<OperationalState ID="ConfigurationValueNotOK" MonitorTypeStateID="ConfigurationValueNotOK" HealthState="Warning"/>
</OperationalStates>
<Configuration>
<MachineName>$Target/Host/Property[Type="SqlCoreLib!Microsoft.SQLServer.Core.DBEngine"]/MachineName$</MachineName>
<NetbiosComputerName>$Target/Host/Property[Type="SqlCoreLib!Microsoft.SQLServer.Core.DBEngine"]/NetbiosComputerName$</NetbiosComputerName>
<InstanceName>$Target/Host/Property[Type="SqlCoreLib!Microsoft.SQLServer.Core.DBEngine"]/InstanceName$</InstanceName>
<DatabaseName>$Target/Property[Type="SqlCoreLib!Microsoft.SQLServer.Core.Database"]/DatabaseName$</DatabaseName>
<ConfigName>AutoUpdateStatAsync</ConfigName>
<ExpectedValue>OFF</ExpectedValue>
<ConnectionString>$Target/Host/Property[Type="SqlCoreLib!Microsoft.SQLServer.Core.DBEngine"]/ConnectionString$</ConnectionString>
<InstanceVersion>$Target/Host/Property[Type="SqlCoreLib!Microsoft.SQLServer.Core.DBEngine"]/Version$</InstanceVersion>
<InstanceEdition>$Target/Host/Property[Type="SqlCoreLib!Microsoft.SQLServer.Core.DBEngine"]/Edition$</InstanceEdition>
<MonitoringType>$Target/Host/Property[Type="SqlDiscW!Microsoft.SQLServer.Windows.DBEngine"]/MonitoringType$</MonitoringType>
<SqlTimeoutSeconds>15</SqlTimeoutSeconds>
<TimeoutSeconds>300</TimeoutSeconds>
<IntervalSeconds>43200</IntervalSeconds>
<SyncTime/>
</Configuration>
</UnitMonitor>