managed_backup.fn_get_health_status (Transact-SQL)
Gilt für: SQL Server 2016 (13.x) und höher
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 SQL Server managed backup to Microsoft Azure wird unter dem Smart Admin-Schirm unterstützt. Die zurückgegebenen Fehler bezieht sich also auf SQL Server verwaltete Sicherung, um 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 | Anzahl von Verbindungsfehlern, 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 | Gibt an, wie oft der Sicherungs-Agent alle Datenbanken überprüft, die mit SQL Server Managed Backup konfiguriert wurden, um Microsoft Azure. |
number_of_retention_loops | INT | Die Anzahl der Datenbankscans, die zur Ermittlung der festgelegten Beibehaltungsdauer ausgeführt werden. |
Empfehlungen
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 erweiterter Ereignisse zu erhalten, 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)