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)