Surveille le paramètre Mise à jour automatique des statistiques en mode asynchrone pour la base de données. Remarque : Ce moniteur est désactivé par défaut. Utilisez des remplacements pour l'activer en cas de besoin.
Ce moniteur vérifie le paramètre Mise à jour automatique des statistiques en mode asynchrone de cette base de données. Comme ce moniteur entre dans le cadre d'une exigence de standards globale, une alerte est générée si le paramètre ne répond pas au standard spécifié.
Quand le paramètre Mise à jour automatique des statistiques en mode asynchrone est activé, les mises à jour des statistiques pour l'option AUTO_UPDATE_STATISTICS sont asynchrones. L'optimiseur de requête n'attend pas la mise à jour des statistiques pour compiler les requêtes. L'activation de cette option n'a aucun impact sauf si AUTO_UPDATE_STATISTICS est défini sur ON.
AUTO_UPDATE_STATISTICS_ASYNC {ON | OFF}
Une alerte d'avertissement est déclenchée si l'option ne correspond pas au paramètre requis. Tel qu'il livré, le moniteur est configuré pour émettre une alerte quand ce paramètre est défini sur « ON ».
Cette option de base de données est désactivée par défaut pour des raisons de compatibilité descendante avec les applications existantes. Comme les requêtes n'attendent pas ni ne bloquent la mise à jour des statistiques, les performances peuvent être temporairement affectées si une requête est compilée et exécutée avec d'anciennes statistiques. Après la mise à jour des statistiques, la même requête doit être recompilée en tenant compte des statistiques mises à jour avant la prochaine exécution. En revanche, pendant la mise à jour des statistiques, la requête peut rencontrer des problèmes temporaires de performances puisqu'elle a été compilée à partir d'anciennes statistiques.
La mise à jour ASYNC est probablement le meilleur choix pour la plupart des applications, car elle réduit globalement les blocages et le temps d'attente. Activez ce paramètre et, s'il fonctionne pour votre application, désactivez ce moniteur d'unités.
Ce problème peut être résolu en :
Changement du paramètre de configuration de cette base de données pour correspondre à la valeur attendue.
Remplacement de la valeur attendue de ce moniteur d'unités pour cette base de données spécifique ou toutes les bases de données.
Sinon, si ce moniteur ne concerne pas cette base de données :
Désactivation du moniteur à l'aide de remplacements pour cette base de données spécifique ou toutes les bases de données.
Désactivation du moniteur de configuration d'agrégat de niveau supérieur à l'aide de remplacements pour cette base de données spécifique ou toutes les bases de données.
Consultez les informations détaillées de ce paramètre : Options ALTER DATABASE SET (Transact-SQL)
Consultez également l'article « Utilisation des statistiques pour améliorer les performances de requête ».
Nom | Description | Valeur par défaut |
Priorité d'alerte | Définit la priorité de l'alerte. | Normale |
Gravité d'alerte | Définit la gravité de l'alerte. | Avertissement |
Activé | Active ou désactive le flux de travail. | Non |
Valeur attendue | Valeur attendue du paramètre de configuration de la base de données. Pour voir l’ensemble des valeurs applicables, consultez la section « Configuration » de l’article de la Base de connaissances de ce moniteur. | DÉSACTIVÉ |
Génère des alertes | Définit si le flux de travail génère une alerte. | Oui |
Intervalle (en secondes) | Intervalle régulier (en secondes) auquel exécuter le flux de travail. | 43200 |
Heure de synchronisation | Heure de la synchronisation spécifiée selon un format de 24 heures. Peut être omise. |
|
Délai d'expiration (secondes) | Spécifie la durée pendant laquelle le flux de travail est autorisé à s'exécuter avant d'être fermé et marqué comme ayant échoué. | 300 |
Délai d’attente pour la connexion de base de données (secondes) | Le workflow échoue et enregistre un événement s’il ne peut pas accéder à la base de données pendant la période spécifiée. | 15 |
Target | Microsoft.SQLServer.Linux.Database | ||
Parent Monitor | Microsoft.SQLServer.Linux.Rollup.Database.AutomaticConfiguration | ||
Category | ConfigurationHealth | ||
Enabled | False | ||
Alert Generate | True | ||
Alert Severity | Warning | ||
Alert Priority | Normal | ||
Alert Auto Resolve | True | ||
Monitor Type | Microsoft.SQLServer.Linux.MonitorType.Database.DBConfigurationStatus | ||
Remotable | True | ||
Accessibility | Public | ||
Alert Message |
| ||
RunAs | Default |
<UnitMonitor ID="Microsoft.SQLServer.Linux.Monitor.Database.AutoUpdateStatAsyncConfiguration" Accessibility="Public" Enabled="false" Target="SqlDiscL!Microsoft.SQLServer.Linux.Database" ParentMonitorID="Microsoft.SQLServer.Linux.Rollup.Database.AutomaticConfiguration" Remotable="true" Priority="Normal" TypeID="Microsoft.SQLServer.Linux.MonitorType.Database.DBConfigurationStatus" ConfirmDelivery="false">
<Category>ConfigurationHealth</Category>
<AlertSettings AlertMessage="Microsoft.SQLServer.Linux.Monitor.Database.AutoUpdateStatAsyncConfiguration.AlertMessage">
<AlertOnState>Warning</AlertOnState>
<AutoResolve>true</AutoResolve>
<AlertPriority>Normal</AlertPriority>
<AlertSeverity>Warning</AlertSeverity>
<AlertParameters>
<AlertParameter1>$Target/Property[Type="SqlCoreLib!Microsoft.SQLServer.Core.Database"]/DatabaseName$</AlertParameter1>
<AlertParameter2>$Target/Host/Property[Type="SqlCoreLib!Microsoft.SQLServer.Core.DBEngine"]/InstanceName$</AlertParameter2>
<AlertParameter3>$Target/Host/Property[Type="SqlCoreLib!Microsoft.SQLServer.Core.DBEngine"]/MachineName$</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>
<SqlTimeoutSeconds>15</SqlTimeoutSeconds>
<TimeoutSeconds>300</TimeoutSeconds>
<IntervalSeconds>43200</IntervalSeconds>
<SyncTime/>
</Configuration>
</UnitMonitor>