Dieser Monitor überprüft den von Microsoft® SQL Server™ gemeldeten Datenbankstatus.
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.
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.
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
Ausführlichere Informationen zu SQL Server™ finden Sie unter:
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 |
Target | Microsoft.SQLServer.2012.Database | ||
Parent Monitor | System.Health.AvailabilityState | ||
Category | AvailabilityHealth | ||
Enabled | True | ||
Alert Generate | True | ||
Alert Severity | Error | ||
Alert Priority | Normal | ||
Alert Auto Resolve | True | ||
Monitor Type | Microsoft.SQLServer.2012.DBStatus | ||
Remotable | True | ||
Accessibility | Public | ||
Alert Message |
| ||
RunAs | Default |
<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>