Поделиться через


managed_backup.fn_get_health_status (Transact-SQL)

Область применения: SQL Server 2016 (13.x) и более поздних версий

Возвращает таблицу, состоящую из 0, одной или более строк объединенного числа ошибок, указанных расширенными событиями в течение заданного периода времени.

Эта функция используется для отчета о состоянии работоспособности служб в разделе "Интеллектуальный администратор". В настоящее время управляемое резервное копирование SQL Server в Microsoft Azure поддерживается в рамках зонтика smart Admin. Поэтому возвращенные ошибки связаны с управляемым резервным копированием SQL Server в Microsoft Azure.

Соглашения о синтаксисе 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 — DATETIME со значением NULL по умолчанию. Если значение равно NULL, функция будет обрабатывать расширенные события до текущего времени.

Возвращаемая таблица

Имя столбца Тип данных Description
number_of_storage_connectivity_errors INT Количество ошибок подключения при подключении программы к учетной записи хранения Azure.
number_of_sql_errors INT Число ошибок, возвращаемых при подключении программы к компоненту SQL Server Engine.
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 в Microsoft Azure.
number_of_retention_loops INT Количество сканирований баз данных, выполняемых для оценки заданного срока хранения.

Рекомендации

Эти суммарные значения можно использовать для контроля состояния работоспособности системы. Например, если столбец number_of_retention_loops получает значение 0 за 30 минут, то, возможно, управление хранением работает слишком долго или неправильно. Ненулевые столбцы ошибок могут означать неполадки, и для обнаружения проблемы следует ознакомиться с журналами расширенных событий. Кроме того, используйте хранимую процедуру managed_backup.sp_get_backup_диагностика, чтобы получить список расширенных событий для поиска сведений об ошибке.

Безопасность

Разрешения

Требуется разрешение 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)