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 Masterdatenbank der SQL-Instanz ausgeführt, und der Status der Datenbank wird zurückgegeben. Wenn Sie eine Warnung von diesem Monitor erhalten, sind Maßnahmen erforderlich, um die Datenbank wieder in einen funktionsfähigen Zustand zu versetzen.
Ein fehlerhafter Zustand ist ein Hinweis darauf, dass die SQL Server-Datenbank zurzeit nicht verfügbar ist. Alle Statusangaben, ausgenommen den Status ONLINE, verursachen einen fehlerhaften Zustand. Die möglichen Statusangaben werden nachstehend genauer beschrieben:
SQL-Datenbankzustand | 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 | SQL Server hat während der Wiederherstellung einen ressourcenbezogenen 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 |
VERDÄCHTIG | 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 |
NOTFALL | Der Benutzer hat die Datenbank geändert und den Status auf 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 |
WIRD WIEDERHERGESTELLT | 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 |
WIRD WIEDERHERGESTELLT | 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 |
Um den genauen Status einer Datenbank zu überprüfen, analysieren Sie den Kontext der Statusänderung oder Warnung.
Sie können versuchen, die Datenbank wieder online zu schalten, um das Problem zu beheben.
Hier finden Sie ausführliche Informationen zu SQL Server:
https://msdn.microsoft.com/de-de/library/microsoft.sqlserver.management.smo.database.status.aspx
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) | Gibt das Wiederholungsintervall in Sekunden für die Ausführung des Workflows an. | 300 |
Synchronisierungszeit | Die Synchronisierungszeit, angegeben im 24-Stunden-Format. Dieser Wert kann ausgelassen werden. |
|
Timeout (Sekunden) | Gibt die Zeit an, zu der der Workflow ausgeführt werden dann, bevor er geschlossen und als fehlerhaft markiert wird. | 200 |
Timeout für Datenbankverbindung (Sekunden) | Es tritt ein Fehler beim Workflow auf, und ein Ereignis wird registriert, wenn der Workflow nicht innerhalb des angegebenen Zeitraums auf die Datenbank zugreifen kann. | 15 |
Target | Microsoft.SQLServer.Linux.Database | ||
Parent Monitor | System.Health.AvailabilityState | ||
Category | AvailabilityHealth | ||
Enabled | True | ||
Alert Generate | True | ||
Alert Severity | MatchMonitorHealth | ||
Alert Priority | Normal | ||
Alert Auto Resolve | True | ||
Monitor Type | Microsoft.SQLServer.Linux.MonitorType.Database.DBStatus | ||
Remotable | True | ||
Accessibility | Public | ||
Alert Message |
| ||
RunAs | Default |
<UnitMonitor ID="Microsoft.SQLServer.Linux.Monitor.Database.DBStatus" Accessibility="Public" Enabled="true" Target="SqlDiscL!Microsoft.SQLServer.Linux.Database" ParentMonitorID="Health!System.Health.AvailabilityState" Remotable="true" Priority="Normal" TypeID="Microsoft.SQLServer.Linux.MonitorType.Database.DBStatus" ConfirmDelivery="false">
<Category>AvailabilityHealth</Category>
<AlertSettings AlertMessage="Microsoft.SQLServer.Linux.Monitor.Database.DBStatus.AlertMessage">
<AlertOnState>Error</AlertOnState>
<AutoResolve>true</AutoResolve>
<AlertPriority>Normal</AlertPriority>
<AlertSeverity>MatchMonitorHealth</AlertSeverity>
<AlertParameters>
<AlertParameter1>$Target/Host/Property[Type="SqlCoreLib!Microsoft.SQLServer.Core.DBEngine"]/MachineName$</AlertParameter1>
<AlertParameter2>$Target/Host/Property[Type="SqlCoreLib!Microsoft.SQLServer.Core.DBEngine"]/InstanceName$</AlertParameter2>
<AlertParameter3>$Target/Property[Type="SqlCoreLib!Microsoft.SQLServer.Core.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>
<MachineName>$Target/Host/Property[Type="SqlCoreLib!Microsoft.SQLServer.Core.DBEngine"]/MachineName$</MachineName>
<InstanceName>$Target/Host/Property[Type="SqlCoreLib!Microsoft.SQLServer.Core.DBEngine"]/InstanceName$</InstanceName>
<DatabaseName>$Target/Property[Type="SqlCoreLib!Microsoft.SQLServer.Core.Database"]/DatabaseName$</DatabaseName>
<ConnectionString>$Target/Host/Property[Type="SqlCoreLib!Microsoft.SQLServer.Core.DBEngine"]/ConnectionString$</ConnectionString>
<SqlTimeoutSeconds>15</SqlTimeoutSeconds>
<TimeoutSeconds>200</TimeoutSeconds>
<IntervalSeconds>300</IntervalSeconds>
<SyncTime/>
</Configuration>
</UnitMonitor>