Konfiguration für "Statistiken automatisch erstellen"

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

Überwacht die Einstellung für "Statistiken automatisch erstellen" für die Datenbank

Knowledge Base article:

Zusammenfassung

Dieser Monitor überprüft die Einstellung "Statistiken automatisch erstellen" 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, müssen Sie dafür Sorge tragen, die Statistiken auf dem neuesten Stand zu halten. Andernfalls kann es zu einer Beeinträchtigung der Abfrageleistung kommen. Für die meisten Anwendungen sollte diese Optionen aktiviert (ON) werden.

Konfiguration

Wenn die Einstellung "Statistiken automatisch erstellen" auf ON festgelegt ist, erstellt der Abfrageoptimierer nach Bedarf Statistiken für mindestens eine Spalte einer Tabelle oder indizierten Sicht in Abfrageprädikaten, um Abfragepläne und die Abfrageleistung zu verbessern.

AUTO_CREATE_STATISTICS {ON | OFF}

Ursachen

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.

Lösungen

Dieses Problem können Sie möglicherweise durch eine der folgenden Aktionen beheben:

Wenn dieser Monitor für diese Datenbank nicht relevant ist, haben Sie zudem folgende Möglichkeiten:

Extern

Ausführlichere Informationen zu dieser Einstellung finden Sie unter: ALTER DATABASE SET-Optionen (Transact-SQL)

Siehe auch " Verwenden von Statistiken zum Verbessern der Abfrageleistung"

Überschreibbare Parameter

Name

Beschreibung

Standardwert

Warnungspriorität

Definiert die Warnungspriorität.

Normal

Warnungsschweregrad

Definiert den Warnungsschweregrad.

Warnung

Überprüfung für SQL Express deaktivieren

Aktiviert oder deaktiviert die Überprüfung der SQL Express-Version.

Nein

Aktiviert

Aktiviert oder deaktiviert den Workflow.

Nein

Erwarteter Wert

Im Wissensabschnitt dieses Monitors werden unter "Konfiguration" die möglichen Werte angezeigt.

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

Element properties:

TargetMicrosoft.SQLServer.2008.Database
Parent MonitorMicrosoft.SQLServer.2008.Database.AutomaticConfiguration
CategoryConfigurationHealth
EnabledFalse
Alert GenerateTrue
Alert SeverityWarning
Alert PriorityNormal
Alert Auto ResolveTrue
Monitor TypeMicrosoft.SQLServer.2008.DBConfigurationStatus
RemotableTrue
AccessibilityPublic
Alert Message
Fehler bei der Konfiguration für "Statistiken automatisch erstellen"
Die Einstellung für "Statistiken automatisch erstellen" für Datenbank "{0}" in SQL-Instanz "{1}" auf Computer "{2}" ist nicht gemäß Best Practices festgelegt.
RunAsDefault

Source Code:

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