Datenbankstatus

Microsoft.SQLServer.2012.Database.DBStatusMonitor (UnitMonitor)

Dieser Monitor überprüft den von Microsoft® SQL Server™ gemeldeten Datenbankstatus.

Knowledge Base article:

Zusammenfassung

Dieser Monitor überprüft den von Microsoft® SQL Server™ gemeldeten Datenbankstatus. Dazu wird eine Abfrage für die master-Datenbank der SQL-Instanz ausgeführt und der Status der Datenbank zurückgegeben. Wenn Sie eine Warnung von diesem Monitor erhalten, ist eine Handlung erforderlich, um die Datenbank wieder in einen funktionsfähigen Zustand zu versetzen.

Ursachen

Der fehlerhafte Zustand weist darauf hin, dass die SQL Server™-Datenbank zurzeit nicht verfügbar ist. Alle Zustände außer ONLINE verursachen einen fehlerhaften Zustand. Die möglichen Zustandsangaben werden unten genauer beschrieben:

SQL-Datenbankstatus

Beschreibung

MOM Integritätsstatus

ONLINE

Die Datenbank ist für den Zugriff bereit. Die primäre Dateigruppe ist online, auch wenn die Rollbackphase der Wiederherstellung möglicherweise noch nicht abgeschlossen ist.

FEHLERFREI

OFFLINE

Die Datenbank ist nicht verfügbar. Eine Datenbank wird aufgrund expliziter Benutzeraktionen offline geschaltet und bleibt offline, bis eine weitere Benutzeraktion durchgeführt wird. Die Datenbank kann z. B. offline geschaltet werden, um eine Datei auf einen neuen Datenträger zu verschieben. Die Datenbank wird dann erneut online geschaltet, nachdem der Verschiebevorgang abgeschlossen wurde.

KRITISCH

WIEDERHERSTELLUNG AUSSTEHEND

Von SQL Server™ wurde während der Wiederherstellung ein ressourcenbezogener Fehler festgestellt. Die Datenbank ist nicht beschädigt, möglicherweise fehlen jedoch Dateien, oder Systemressourceneinschränkungen verhindern ihren Start. Die Datenbank ist nicht verfügbar. Es sind weitere Aktionen durch den Benutzer erforderlich, um den Fehler zu beheben und den Wiederherstellungsvorgang erfolgreich abzuschließen.

KRITISCH

SUSPECT

Mindestens die primäre Dateigruppe weist den Status "Fehlerverdächtig" auf und ist möglicherweise beschädigt. Die Datenbank kann während des Starts von SQL Server™ nicht wiederhergestellt werden. Die Datenbank ist nicht verfügbar. Es sind weitere Aktionen durch den Benutzer erforderlich, um das Problem zu beheben.

KRITISCH

EMERGENCY

Der Benutzer hat die Datenbank geändert und den Status NOTFALL festgelegt. Die Datenbank befindet sich im Einzelbenutzermodus und wird möglicherweise repariert oder wiederhergestellt. Die Datenbank ist als READ_ONLY markiert, die Protokollierung deaktiviert und der Zugriff auf Mitglieder der festen Serverrolle sysadmin beschränkt. Der Status NOTFALL wird hauptsächlich zu Problembehandlungszwecken verwendet. Für eine Datenbank, die als fehlerverdächtig markiert ist, kann z. B. der Status NOTFALL festgelegt werden. Dies kann dem Systemadministrator schreibgeschützten Zugriff auf die Datenbank ermöglichen. Nur Mitglieder der festen Serverrolle sysadmin können für eine Datenbank den Status NOTFALL festlegen.

KRITISCH

RESTORING

Mindestens eine Datei der primären Dateigruppe wird wiederhergestellt, oder mindestens eine sekundäre Datei wird offline wiederhergestellt. Die Datenbank ist nicht verfügbar.

WARNUNG

RECOVERING

Die Datenbank wird aktuell wiederhergestellt. Der Wiederherstellungsvorgang ist ein vorübergehender Zustand; die Datenbank wird automatisch online geschaltet, wenn die Wiederherstellung erfolgreich war. Sollte die Wiederherstellung einen Fehler erzeugen, wird die Datenbank als fehlerverdächtig gekennzeichnet. Die Datenbank ist nicht verfügbar.

WARNUNG

Wenn Sie den genauen Status einer Datenbank überprüfen möchten, analysieren Sie den Kontext der Statusänderung oder der Warnung.

Lösungen

Sie können versuchen, die Datenbank wieder online zu schalten, um das Problem zu beheben. Führen Sie dazu folgenden Task aus:

Datenbank online schalten

Extern

Ausführlichere Informationen zu SQL Server™ finden Sie unter:

http://www.microsoft.com/sql

Überschreibbare Parameter

Name

Beschreibung

Standardwert

Warnungspriorität

Definiert die Warnungspriorität.

Normal

Warnungsschweregrad

Definiert den Warnungsschweregrad.

Fehler

Aktiviert

Aktiviert oder deaktiviert den Workflow.

Ja

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.

3600

Synchronisierungszeit

Die Synchronisierungszeit, angegeben im 24-Stunden-Format. Kann ausgelassen werden.

 

Timeout (Sekunden)

Gibt an, wie lange der Workflow ausgeführt werden darf, bevor er geschlossen und als fehlerhaft markiert wird.

300

Element properties:

TargetMicrosoft.SQLServer.2012.Database
Parent MonitorSystem.Health.AvailabilityState
CategoryAvailabilityHealth
EnabledTrue
Alert GenerateTrue
Alert SeverityError
Alert PriorityNormal
Alert Auto ResolveTrue
Monitor TypeMicrosoft.SQLServer.2012.DBStatus
RemotableTrue
AccessibilityPublic
Alert Message
Datenbank offline
Die Datenbank {2} in SQL Server-Instanz {1} auf Computer {0} ist offline/für die Wiederherstellung ausstehend/fehlerverdächtig/im Notfallmodus
RunAsDefault

Source Code:

<UnitMonitor ID="Microsoft.SQLServer.2012.Database.DBStatusMonitor" Accessibility="Public" Enabled="true" Target="SQL2012Core!Microsoft.SQLServer.2012.Database" ParentMonitorID="SystemHealth!System.Health.AvailabilityState" Remotable="true" Priority="Normal" TypeID="Microsoft.SQLServer.2012.DBStatus" ConfirmDelivery="false">
<Category>AvailabilityHealth</Category>
<AlertSettings AlertMessage="Microsoft.SQLServer.2012.Database.DBStatusMonitor.AlertMessage">
<AlertOnState>Error</AlertOnState>
<AutoResolve>true</AutoResolve>
<AlertPriority>Normal</AlertPriority>
<AlertSeverity>Error</AlertSeverity>
<AlertParameters>
<AlertParameter1>$Target/Host/Host/Property[Type="Windows!Microsoft.Windows.Computer"]/NetworkName$</AlertParameter1>
<AlertParameter2>$Target/Host/Property[Type="SQL!Microsoft.SQLServer.ServerRole"]/InstanceName$</AlertParameter2>
<AlertParameter3>$Target/Property[Type="SQL!Microsoft.SQLServer.Database"]/DatabaseName$</AlertParameter3>
</AlertParameters>
</AlertSettings>
<OperationalStates>
<OperationalState ID="Good" MonitorTypeStateID="Good" HealthState="Success"/>
<OperationalState ID="Bad" MonitorTypeStateID="Bad" HealthState="Error"/>
<OperationalState ID="NeitherGoodNorBad" MonitorTypeStateID="NeitherGoodNorBad" 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>3600</IntervalSeconds>
<SyncTime/>
<TimeoutSeconds>300</TimeoutSeconds>
</Configuration>
</UnitMonitor>