Datenbankstatus

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

Dieser Monitor prüft den von Microsoft SQL Server ausgegebenen Status der Datenbank.

Knowledge Base article:

Zusammenfassung

Dieser Monitor prüft den von Microsoft SQL Server ausgegebenen Status der Datenbank. Hierzu muss eine Abfrage auf der Masterdatenbank der SQL-Instanz ausgeführt und der Status der Datenbank ausgegeben werden. Wenn Sie eine Warnung von diesem Monitor erhalten, sind Maßnahmen erforderlich, um die Datenbank wieder in einen Betriebsstatus zurückzuversetzen.

Ursachen

Ein fehlerhafter Status besagt, dass die SQL Server-Datenbank derzeit nicht verfügbar ist. Alle Status außer dem ONLINE-Status lösen einen fehlerhaften Status aus. Die verschiedenen möglichen Status sind nachstehend aufgeführt:

SQL-Datenbankstatus

Beschreibung

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 durch explizite Benutzeraktionen offline geschaltet und bleibt offline, bis weitere Benutzeraktionen durchgeführt werden. 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.

Kritisch

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, erhält die Datenbank den Status Fehlerverdächtig. 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

Weitere Informationen zu SQL Server erhalten Sie unter:

http://go.microsoft.com/fwlink/?LinkId=799305

Parameter, die außer Kraft gesetzt werden können

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 in einem 24-Stunden-Format angegebene Synchronisierungszeit. Kann ausgelassen werden.

 

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.2016.Database
Parent MonitorSystem.Health.AvailabilityState
CategoryAvailabilityHealth
EnabledTrue
Alert GenerateTrue
Alert SeverityError
Alert PriorityNormal
Alert Auto ResolveTrue
Monitor TypeMicrosoft.SQLServer.2016.DBStatus
RemotableTrue
AccessibilityPublic
Alert Message
MSSQL 2016: Datenbank ist im Offline-/für die Wiederherstellung ausstehenden/fehlerverdächtigen/Notfallstatus
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.2016.Database.DBStatusMonitor" Accessibility="Public" Enabled="true" Target="SQL2016Core!Microsoft.SQLServer.2016.Database" ParentMonitorID="SystemHealth!System.Health.AvailabilityState" Remotable="true" Priority="Normal" TypeID="Microsoft.SQLServer.2016.DBStatus" ConfirmDelivery="false">
<Category>AvailabilityHealth</Category>
<AlertSettings AlertMessage="Microsoft.SQLServer.2016.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="SQL2016Core!Microsoft.SQLServer.2016.ServerRole"]/InstanceName$</AlertParameter2>
<AlertParameter3>$Target/Property[Type="SQL2016Core!Microsoft.SQLServer.2016.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="SQL2016Core!Microsoft.SQLServer.2016.DBEngine"]/ConnectionString$</ConnectionString>
<DatabaseName>$Target/Property[Type="SQL2016Core!Microsoft.SQLServer.2016.Database"]/DatabaseName$</DatabaseName>
<IntervalSeconds>3600</IntervalSeconds>
<SyncTime/>
<TimeoutSeconds>300</TimeoutSeconds>
</Configuration>
</UnitMonitor>