managed_backup.fn_get_health_status (Transact-SQL)
Gilt für: SQL Server 2016 (13.x) und höhere Versionen
Gibt eine Tabelle mit keiner, einer oder mehreren Zeilen der aggregierten Anzahl der Fehler zurück, die durch erweiterte Ereignisse während eines bestimmten Zeitraums gemeldet wurden.
Die Funktion wird verwendet, um den Integritätsstatus von Diensten unter "Smart Admin" zu melden. Derzeit wird sql Server managed backup to Microsoft Azure unter dem Dach des Smart Admin unterstützt. Die zurückgegebenen Fehler beziehen sich also auf die verwaltete SQL Server-Sicherung auf Microsoft Azure.
Transact-SQL-Syntaxkonventionen
Syntax
managed_backup.fn_get_health_status([@begin_time = ] 'time_1' , [ @end_time = ] 'time_2')
Argumente
[@begin_time]
Der Beginn des Zeitraums, von dem an die aggregierte Anzahl von Fehlern berechnet wird. Der @begin_time Parameter ist DATETIME. Der Standardwert ist NULL. Wenn der Wert NULL ist, verarbeitet die Funktion die Ereignisse, die bereits 30 Minuten vor der aktuellen Zeit gemeldet wurden.
[ @end_time]
Das Ende des Zeitraums, von dem an die aggregierte Anzahl von Fehlern berechnet wird. Der @end_time Parameter ist DATETIME mit dem Standardwert NULL. Wenn der Wert NULL ist, verarbeitet die Funktion erweiterte Ereignisse bis zur aktuellen Zeit.
Zurückgegebene Tabelle
Spaltenname | Datentyp | Beschreibung |
---|---|---|
number_of_storage_connectivity_errors | int | Die Anzahl der Verbindungsfehler, wenn das Programm eine Verbindung mit dem Azure-Speicherkonto herstellt. |
number_of_sql_errors | int | Die Anzahl der Fehler, die zurückgegeben werden, wenn das Programm eine Verbindung mit der SQL Server Engine herstellt. |
number_of_invalid_credential_errors | int | Die Anzahl der Fehler, die zurückgegeben werden, wenn das Programm versucht, sich mit den SQL-Anmeldeinformationen zu authentifizieren. |
number_of_other_errors | int | Die Anzahl der Fehler aus anderen Kategorien außer Konnektivität, SQL oder Anmeldeinformationen. |
number_of_corrupted_or_deleted_backups | int | Die Anzahl der gelöschten oder beschädigte Sicherungsdateien. |
number_of_backup_loops | int | Die Anzahl der Überprüfungen aller Datenbanken, die mit sql Server verwalteter Sicherung in Microsoft Azure konfiguriert sind. |
number_of_retention_loops | int | Die Anzahl der Datenbankscans, die zur Ermittlung der festgelegten Beibehaltungsdauer ausgeführt werden. |
Bewährte Methoden
Anhand dieser aggregierten Anzahl kann die Systemintegrität überwacht werden. Wenn die Spalte number_ of_retention_loops nach 30 Minuten beispielsweise 0 ist, dauert die Überwachung der Beibehaltungsdauer entweder sehr lange oder funktioniert nicht ordnungsgemäß. Spalten mit Werten ungleich 0 können auf Probleme hindeuten. Sie sollten die Protokolle der erweiterten Ereignisse prüfen, um das Problem einzugrenzen. Verwenden Sie alternativ die gespeicherte Prozedur managed_backup.sp_get_backup_diagnostics , um eine Liste der erweiterten Ereignisse abzurufen, um die Details des Fehlers zu finden.
Sicherheit
Berechtigungen
Erfordert SELECT-Berechtigungen für die Funktion.
Beispiele
Das folgende Beispiel gibt die aggregierte Fehleranzahl für die letzten 30 Minuten seit der Ausführung zurück.
SELECT * FROM managed_backup.fn_get_health_status(NULL, NULL)
Im folgenden Beispiel wird die aggregierte Fehleranzahl für die aktuelle Woche zurückgegeben:
Use msdb Go DECLARE @startofweek datetime DECLARE @endofweek datetime SET @startofweek = DATEADD(Day, 1-DATEPART(WEEKDAY, CURRENT_TIMESTAMP), CURRENT_TIMESTAMP) SET @endofweek = DATEADD(Day, 7-DATEPART(WEEKDAY, CURRENT_TIMESTAMP), CURRENT_TIMESTAMP) SELECT * FROM managed_backup.fn_get_health_status(@startofweek, @endofweek)