Überwacht die Einstellung für "Automatisch schließen" für die Datenbank
Dieser Monitor überprüft die Einstellung "Automatisch schließen" für diese Datenbank. Da dieser Monitor zu einer Gesamtstandardanforderung gehört, wird eine Warnung generiert, wenn die Einstellung nicht dem angegebenen Standard entspricht.
Die Option AUTO_CLOSE ist sehr nützlich für Desktopdatenbanken, da mit ihrer Hilfe Datenbankdateien wie reguläre Dateien verwaltet werden können. Sie können verschoben, zur Sicherung kopiert oder sogar per E-Mail an andere Benutzer gesendet werden. Wenn die Datenbank jedoch auf AUTOCLOSE = ON festgelegt ist, wird mit einem Vorgang, bei dem das automatische Beenden der Datenbank initiiert wird, der Plancache für die Instanz von SQL Server gelöscht. Durch das Löschen des Plancaches wird eine Neukompilierung aller nachfolgenden Ausführungspläne ausgelöst, und möglicherweise kommt es zu einer plötzlichen, vorübergehenden Beeinträchtigung der Abfrageleistung.
Für die Datenbankspiegelung muss AUTO_CLOSE deaktiviert sein (OFF).
AUTO_CLOSE macht nur Sinn, wenn Sie sicher sind, dass die Datenbank aufgrund des Anwendungsverwendungsmusters für relativ lange Zeiträume geschlossen sein wird. In einigen Einzelbenutzeranwendungen und in einigen Situationen, in denen die Datenbank für mehrere Mandanten gehostet wird, kann das automatische Schließen (AUTO_CLOSE = ON) vorteilhaft sein. Für alle anderen Verwendungsfälle ist das automatische Schließen im Allgemeinen nicht empfehlenswert, es sei denn, das Anwendungsverhalten und die Verwendungsmuster sind Ihnen geläufig.
|
Wenn die Einstellung "Automatisch schließen" auf ON festgelegt wurde, wird die Datenbank heruntergefahren, und die Ressourcen werden freigegeben, wenn der letzte Benutzer die Datenbank beendet hat.
AUTO_CLOSE {ON | OFF}
Es wird eine Warnung ausgelöst, wenn die Option "Automatisch schließen" nicht der erforderlichen Einstellung entspricht. Der Monitor ist standardmäßig so konfiguriert, dass eine Warnung ausgegeben wird, wenn diese Einstellung auf ON 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.
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. | Ja |
Aktiviert | Aktiviert oder deaktiviert den Workflow. | Nein |
Erwarteter Wert | Im Wissensabschnitt dieses Monitors werden unter "Konfiguration" die möglichen Werte angezeigt. | AUS |
Generiert Warnungen | Definiert, ob der Workflow eine Warnung generiert. | Ja |
Intervall (Sekunden) | Das wiederkehrende Zeitintervall in Sekunden, in dem der Workflow ausgeführt wird. | 43200 |
Timeout (Sekunden) | Gibt an, wie lange der Workflow ausgeführt werden darf, bevor er geschlossen und als fehlerhaft markiert wird. | 300 |
Target | Microsoft.SQLServer.2012.Database | ||
Parent Monitor | Microsoft.SQLServer.2012.Database.AutomaticConfiguration | ||
Category | ConfigurationHealth | ||
Enabled | False | ||
Alert Generate | True | ||
Alert Severity | Warning | ||
Alert Priority | Normal | ||
Alert Auto Resolve | True | ||
Monitor Type | Microsoft.SQLServer.2012.DBConfigurationStatus | ||
Remotable | True | ||
Accessibility | Public | ||
Alert Message |
| ||
RunAs | Default |
<UnitMonitor ID="Microsoft.SQLServer.2012.Database.Configuration.AutoClose" Accessibility="Public" Enabled="false" Target="SQL2012Core!Microsoft.SQLServer.2012.Database" ParentMonitorID="Microsoft.SQLServer.2012.Database.AutomaticConfiguration" Remotable="true" Priority="Normal" TypeID="Microsoft.SQLServer.2012.DBConfigurationStatus" ConfirmDelivery="false">
<Category>ConfigurationHealth</Category>
<AlertSettings AlertMessage="Microsoft.SQLServer.2012.Database.Configuration.AutoClose.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>AutoClose</ConfigValue>
<ExpectedValue>OFF</ExpectedValue>
<ExcludeOnExpress>true</ExcludeOnExpress>
<SQLSKU>$Target/Host/Property[Type="SQL!Microsoft.SQLServer.DBEngine"]/Edition$</SQLSKU>
<TimeoutSeconds>300</TimeoutSeconds>
</Configuration>
</UnitMonitor>