Überwacht die Einstellung "Statistiken automatisch aktualisieren" für die Datenbank. Hinweis: Diese Regel ist standardmäßig deaktiviert. Verwenden Sie, falls erforderlich, Überschreibungen, um diese zu aktivieren.
Dieser Monitor überprüft die Einstellung "Statistiken automatisch aktualisieren" für diese Datenbank. Da dieser Monitor zu einer Gesamtstandardanforderung gehört, wird eine Warnung generiert, wenn die Einstellung nicht dem angegebenen Standard entspricht.
Der Abfrageoptimierer benötigt aktuelle und genaue Statistiken, um geeignete Pläne zu generieren. In den meisten Fällen empfiehlt es sich, die Statistiken durch SQL Server verwalten zu lassen. Wenn Sie die Optionen "Statistiken automatisch erstellen " und "Statistiken automatisch aktualisieren" deaktivieren, ist es Ihre Aufgabe, die Statistiken auf dem neuesten Stand zu halten. Wenn Sie dies versäumen, führt dies zu einer geringen Abfrageleistung. Bei den meisten Anwendungen sollten diese Optionen aktiviert (ON) sein.
Wenn die Einstellung "Statistiken automatisch aktualisieren" auf ON festgelegt ist, aktualisiert der Abfrageoptimierer Statistiken, wenn sie von einer Abfrage verwendet werden und veraltet sein könnten. Statistiken sind veraltet, wenn die Datenverteilung in der Tabelle oder indizierten Sicht durch die Vorgänge INSERT, UPDATE, DELETE oder MERGE geändert wurde. Der Abfrageoptimierer stellt fest, wann Statistiken veraltet sein könnten, indem er die Anzahl der Datenänderungen seit des letzten Statistikupdates ermittelt und sie mit einem Schwellenwert vergleicht. Der Schwellenwert basiert auf der Anzahl von Zeilen in der Tabelle oder indizierten Sicht. Bevor der Abfrageoptimierer eine Abfrage kompiliert und einen zwischengespeicherten Abfrageplan ausführt, sucht er nach veralteten Statistiken. Vor dem Kompilieren einer Abfrage ermittelt der Abfrageoptimierer anhand der Spalten, Tabellen und indizierten Sichten im Abfrageprädikat, welche Statistiken veraltet sein könnten. Vor dem Ausführen eines zwischengespeicherten Abfrageplans überprüft das Datenbankmodul, ob der Abfrageplan auf aktuelle Statistiken verweist. Die AUTO_UPDATE_STATISTICS-Option gilt für Statistikobjekte, die für Indizes, einzelne Spalten in Abfrageprädikaten und mit der CREATE STATISTICS-Anweisung generierte Statistiken erstellt wurden. Diese Option gilt auch für gefilterte Statistiken.
AUTO_UPDATE_STATISTICS {ON | OFF}
Es wird eine Warnung ausgelöst, wenn die Option nicht der erforderlichen Einstellung entspricht. Der Monitor ist standardmäßig so konfiguriert, dass eine Warnung ausgegeben wird, wenn diese Einstellung auf OFF festgelegt wurde.
Dieses Problem können Sie möglicherweise durch eine der folgenden Aktionen beheben:
Ändern der Konfigurationseinstellung für diese Datenbank, damit sie dem erwarteten Wert entspricht.
Außerkraftsetzen des erwarteten Werts für diesen Einheitenmonitor für diese Datenbank oder für alle Datenbanken.
Wenn dieser Monitor für diese Datenbank nicht relevant ist, haben Sie zudem folgende Möglichkeiten:
Deaktivieren des Monitors mithilfe von Außerkraftsetzungen für diese Datenbank oder für alle Datenbanken.
Deaktivieren des Monitors für die aggregierte Konfiguration auf oberster Ebene mithilfe von Außerkraftsetzungen für diese Datenbank oder für alle Datenbanken.
Ausführlichere Informationen zu dieser Einstellung finden Sie unter: ALTER DATABASE SET-Optionen (Transact-SQL)
Siehe auch " Verwenden von Statistiken zum Verbessern der Abfrageleistung"
Name | Beschreibung | Standardwert |
Warnungspriorität | Definiert die Warnungspriorität. | Normal |
Warnungsschweregrad | Definiert den Warnungsschweregrad. | Warnung |
Überprüfung für SQL Express deaktivieren | Dieser Wert kann nur auf "true" oder "false" festgelegt werden. Der Workflow berücksichtigt die SQL Server Express-Edition nicht, wenn der Wert auf "true" festgelegt ist. | Nein |
Aktiviert | Aktiviert oder deaktiviert den Workflow. | Nein |
Erwarteter Wert | Der erwartete Wert der Einstellung für die Datenbankkonfiguration. Informationen zum Anzeigen der geeigneten Werte finden Sie im Abschnitt "Konfiguration" des Knowledge Base-Artikels zu diesem Monitor. | EIN |
Generiert Warnungen | Definiert, ob der Workflow eine Warnung generiert. | Ja |
Intervall (Sekunden) | Das periodische Intervall in Sekunden, in dem der Workflow ausgeführt werden soll. | 43200 |
Timeout (Sekunden) | Gibt die Zeit an, die der Workflow ausgeführt werden darf, bevor er geschlossen und als fehlgeschlagen markiert wird. | 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.AutoUpdateSet" 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.AutoUpdateSet.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>AutoUpdateSet</ConfigValue>
<ExpectedValue>ON</ExpectedValue>
<ExcludeOnExpress>false</ExcludeOnExpress>
<SQLSKU>$Target/Host/Property[Type="SQL2016Core!Microsoft.SQLServer.2016.DBEngine"]/Edition$</SQLSKU>
<TimeoutSeconds>300</TimeoutSeconds>
</Configuration>
</UnitMonitor>