Bagikan melalui


managed_backup.fn_get_health_status (Transact-SQL)

Berlaku untuk: SQL Server 2016 (13.x) dan versi yang lebih baru

Mengembalikan tabel 0, satu atau beberapa baris dari jumlah agregat kesalahan yang dilaporkan oleh Peristiwa yang Diperluas untuk jangka waktu tertentu.

Fungsi ini digunakan untuk melaporkan status kesehatan layanan di bawah Admin Cerdas. Saat ini pencadangan terkelola SQL Server ke Microsoft Azure didukung di bawah payung Admin Cerdas. Jadi kesalahan yang dikembalikan terkait dengan pencadangan terkelola SQL Server ke Microsoft Azure.

Konvensi sintaks transact-SQL

Sintaks

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

Argumen

[@begin_time]
Awal periode waktu dari mana jumlah agregat kesalahan dihitung. Parameternya @begin_time adalah DATETIME. Nilai defaultnya adalah NULL. Ketika nilai adalah NULL, fungsi akan memproses peristiwa yang dilaporkan sedini 30 menit sebelum waktu saat ini.

Aku akan menemuinya. @end_time
Akhir periode waktu dari mana jumlah agregat kesalahan dihitung. Parameternya @end_time adalah DATETIME dengan nilai default NULL. Ketika nilai adalah NULL, fungsi akan memproses peristiwa yang diperluas hingga waktu saat ini.

Tabel Dikembalikan

Nama kolom Jenis Data Deskripsi
number_of_storage_connectivity_errors int Jumlah kesalahan koneksi saat program tersambung ke akun penyimpanan Azure.
number_of_sql_errors int Jumlah kesalahan yang dikembalikan ketika program tersambung ke SQL Server Engine.
number_of_invalid_credential_errors int Jumlah kesalahan yang dikembalikan saat program mencoba mengautentikasi menggunakan Kredensial SQL.
number_of_other_errors int Jumlah kesalahan dalam kategori lain selain konektivitas, SQL, atau kredensial.
number_of_corrupted_or_deleted_backups int Jumlah file cadangan yang dihapus atau rusak.
number_of_backup_loops int Berapa kali agen cadangan memindai semua database yang dikonfigurasi dengan cadangan terkelola SQL Server ke Microsoft Azure.
number_of_retention_loops int Berapa kali database dipindai untuk menilai periode retensi yang ditetapkan.

Praktik Terbaik

Jumlah agregat ini dapat digunakan untuk memantau kesehatan sistem. Misalnya, jika kolom number_ of_retention_loops adalah 0 dalam 30 menit, ada kemungkinan bahwa manajemen retensi membutuhkan waktu lama atau bahkan tidak berfungsi dengan benar. Kolom kesalahan non-nol dapat menunjukkan masalah dan Log peristiwa yang diperluas harus diperiksa untuk mempelajari masalah apa pun. Secara bergantian, gunakan prosedur tersimpan managed_backup.sp_get_backup_diagnostics untuk mendapatkan daftar kejadian yang Diperluas untuk menemukan detail kesalahan.

Keamanan

Izin

Memerlukan izin SELECT pada fungsi .

Contoh

  • Contoh berikut mengembalikan jumlah kesalahan agregat selama 30 menit terakhir sejak dijalankan.

    SELECT *  
    FROM managed_backup.fn_get_health_status(NULL, NULL)  
    
    
  • Contoh berikut mengembalikan jumlah kesalahan agregat untuk minggu ini:

    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)