Compartir a través de


managed_backup.fn_get_health_status (Transact-SQL)

Se aplica a: SQL Server 2016 (13.x) y versiones posteriores

Devuelve una tabla de cero, una o más filas del recuento agregado de los errores notificados por Eventos extendidos para un período de tiempo concreto.

La función se usa para notificar el estado de mantenimiento de los servicios en Administración inteligente. Actualmente, la copia de seguridad administrada de SQL Server en Microsoft Azure se admite en el paraguas De administración inteligente. Por lo tanto, los errores devueltos están relacionados con la copia de seguridad administrada de SQL Server en Microsoft Azure.

Convenciones de sintaxis de Transact-SQL

Sintaxis

managed_backup.fn_get_health_status([@begin_time = ] 'time_1' , [ @end_time = ] 'time_2')  

Argumentos

[@begin_time]
El inicio del período de tiempo desde el que se calcula el recuento agregado de los errores. El @begin_time parámetro es DATETIME. El valor predeterminado es NULL. Si el valor es NULL, la función procesará los eventos notificados al menos 30 minutos antes de la hora actual.

[ @end_time]
El fin del período de tiempo desde el que se calcula el recuento agregado de los errores. El @end_time parámetro es DATETIME con un valor predeterminado de NULL. Si el valor es NULL, la función procesará los eventos extendidos al menos hasta el momento actual.

Tabla devuelta

Nombre de la columna Tipo de datos Descripción
number_of_storage_connectivity_errors int Número de errores de conexión cuando el programa se conecta a la cuenta de almacenamiento de Azure.
number_of_sql_errors int Número de errores devueltos cuando el programa se conecta al Motor de SQL Server.
number_of_invalid_credential_errors int Número de errores devueltos cuando el programa intenta autenticarse utilizando las credenciales SQL.
number_of_other_errors int Número de errores en otras categorías además de conectividad, SQL o credencial.
number_of_corrupted_or_deleted_backups int Número de archivos de copia de seguridad dañados o eliminados.
number_of_backup_loops int El número de veces que el agente de copia de seguridad examina todas las bases de datos configuradas con la copia de seguridad administrada de SQL Server en Microsoft Azure.
number_of_retention_loops int El número de veces que las bases de datos se examinan para evaluar el período de retención establecido.

Procedimientos recomendados

Estos recuentos agregados se pueden utilizar para supervisar el estado del sistema. Por ejemplo, si la columna number_ of_retention_loops es 0 en 30 minutos, es posible que la administración de la retención esté tardando mucho o incluso que no funcione correctamente. Las columnas de errores que no son cero pueden indicar que hay problemas y los registros de Eventos extendidos se deben comprobar para conocerlos. Como alternativa, use el procedimiento almacenado managed_backup.sp_get_backup_diagnostics para obtener una lista de eventos extendidos para buscar los detalles del error.

Seguridad

Permisos

Requiere permisos SELECT en la función.

Ejemplos

  • El ejemplo siguiente devuelve los recuentos de errores agregados para los 30 últimos minutos desde el momento en que se ejecutó.

    SELECT *  
    FROM managed_backup.fn_get_health_status(NULL, NULL)  
    
    
  • El ejemplo siguiente devuelve el recuento de errores agregados para la semana actual:

    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)