managed_backup.fn_get_health_status(Transact-SQL)

적용 대상: SQL Server 2016(13.x) 이상 버전

지정된 기간 동안 확장 이벤트에서 보고한 집계된 오류 수의 행을 0개, 1개 또는 그 이상 포함하는 테이블을 반환합니다.

이 함수는 Smart Admin에서 서비스의 상태를 보고하는 데 사용됩니다. 현재 Microsoft Azure에 대한 SQL Server 관리되는 백업은 Smart Admin 우산 아래에서 지원됩니다. 따라서 반환되는 오류는 Microsoft Azure에 대한 SQL Server 관리되는 백업과 관련이 있습니다.

Transact-SQL 구문 표기 규칙

구문

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

인수

[@begin_time]
집계된 오류 수가 계산되는 기간의 시작입니다. 매개 변수는 @begin_time DATETIME입니다. 기본값은 NULL입니다. 값이 NULL인 경우 함수는 현재 시간 30분 전부터 보고된 이벤트를 처리합니다.

[ @end_time]
집계된 오류 수가 계산되는 기간의 끝입니다. 매개 변수는 @end_time 기본값이 NULL인 DATETIME입니다. 값이 NULL이면 함수는 현재 시간까지 확장 이벤트를 처리합니다.

반환된 테이블

열 이름 데이터 형식 설명
number_of_storage_connectivity_errors INT 프로그램이 Azure Storage 계정에 연결할 때 발생하는 연결 오류 수입니다.
number_of_sql_errors INT 프로그램이 SQL Server 엔진에 연결할 때 반환되는 오류 수입니다.
number_of_invalid_credential_errors INT 프로그램이 SQL 자격 증명을 사용하여 인증을 시도할 때 반환되는 오류 수입니다.
number_of_other_errors INT 연결, SQL 또는 자격 증명 이외의 다른 범주에 속하는 오류 수입니다.
number_of_corrupted_or_deleted_backups INT 삭제되거나 손상된 백업 파일의 수입니다.
number_of_backup_loops INT 백업 에이전트가 SQL Server Managed Backup으로 구성된 모든 데이터베이스를 Microsoft Azure로 검색하는 횟수입니다.
number_of_retention_loops INT 설정된 보존 기간을 평가하기 위해 데이터베이스를 검사한 횟수입니다.

좋은 연습 방법

이러한 집계된 개수를 사용하여 시스템 상태를 모니터링할 수 있습니다. 예를 들어 number_ of_retention_loops 열이 30분 안에 0이면 보존 관리가 오래 걸리거나 제대로 작동하지 않을 수 있습니다. 0이 아닌 오류 열은 문제를 나타낼 수 있으며, 문제를 알아보려면 확장 이벤트 로그를 확인해야 합니다. 또는 저장 프로시저 managed_backup.sp_get_backup_diagnostics 를 사용하여 확장 이벤트 목록을 가져와서 오류의 세부 정보를 찾습니다.

보안

사용 권한

함수에 대한 SELECT 권한이 필요합니다.

  • 다음 예에서는 실행된 시간 이전의 마지막 30분 동안 집계된 오류 수를 반환합니다.

    SELECT *  
    FROM managed_backup.fn_get_health_status(NULL, NULL)  
    
    
  • 다음 예제에서는 현재 주에 대한 집계된 오류 수를 반환합니다.

    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)