managed_backup.fn_get_health_status (Transact-SQL)

Gilt für:yes 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.

Topic link iconTransact-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)