sp_dbmmonitorresults (T-SQL)
Berlaku untuk: SQL Server
Mengembalikan baris status untuk database yang dipantau dari tabel status tempat riwayat pemantauan pencerminan database disimpan, dan memungkinkan Anda memilih apakah prosedur mendapatkan status terbaru sebelumnya.
Sintaks
sp_dbmmonitorresults
[ @database_name = ] N'database_name'
[ , [ @mode = ] mode ]
[ , [ @update_table = ] update_table ]
[ ; ]
Argumen
[ @database_name = ] N'database_name'
Menentukan database yang akan mengembalikan status pencerminan. @database_name adalah sysname, tanpa default.
[ @mode = ] mode
Menentukan kuantitas baris yang dikembalikan. @mode int, dan bisa menjadi salah satu nilai ini.
Nilai | Deskripsi |
---|---|
0 |
Baris terakhir |
1 |
Baris dua jam terakhir |
2 |
Baris empat jam terakhir |
3 |
Baris delapan jam terakhir |
4 |
Baris hari terakhir |
5 |
Baris dua hari terakhir |
6 |
100 baris terakhir |
7 |
500 baris terakhir |
8 |
1.000 baris terakhir |
9 |
1.000.000 baris terakhir |
[ @update_table = ] update_table
Menentukan bahwa sebelum mengembalikan hasil prosedur. @update_table int, dengan default 0
.
0
= Tidak memperbarui status untuk database. Hasilnya dihitung hanya menggunakan dua baris terakhir, yang usianya tergantung pada kapan tabel status disegarkan.1
= Memperbarui status untuk database dengan memanggilsp_dbmmonitorupdate
sebelum menghitung hasil. Namun, jika tabel status diperbarui dalam 15 detik sebelumnya, atau pengguna bukan anggota peran server tetap sysadmin ,sp_dbmmonitorresults
berjalan tanpa memperbarui status.
Mengembalikan nilai kode
Tidak ada.
Tataan hasil
Mengembalikan jumlah baris status riwayat yang diminta untuk database yang ditentukan. Setiap baris berisi informasi berikut:
Nama kolom | Jenis data | Deskripsi |
---|---|---|
database_name |
nama sysname | Nama database cermin. |
role |
int | Peran pencerminan instans server saat ini:1 = Prinsipal2 = Cermin |
mirroring_state |
int | Status database:0 = Ditangguhkan1 = Terputus2 = Menyinkronkan3 = Failover Tertunda4 = Disinkronkan |
witness_status |
int | Status koneksi saksi dalam sesi pencerminan database database, dapat berupa:0 = Tidak diketahui1 = Tersambung2 = Terputus |
log_generation_rate |
int | Jumlah log yang dihasilkan sejak pembaruan sebelumnya dari status pencerminan database ini dalam kilobyte/detik. |
unsent_log |
int | Ukuran log yang tidak terkirim dalam antrean kirim pada prinsipal dalam kilobyte. |
send_rate |
int | Kirim laju log dari prinsipal ke cermin dalam kilobyte/detik. |
unrestored_log |
int | Ukuran antrean pengulangan pada cermin dalam kilobyte. |
recovery_rate |
int | Laju ulang pada cermin dalam kilobyte/detik. |
transaction_delay |
int | Total penundaan untuk semua transaksi dalam milidetik. |
transactions_per_sec |
int | Jumlah transaksi yang terjadi per detik pada instans server utama. |
average_delay |
int | Penundaan rata-rata pada instans server utama untuk setiap transaksi karena pencerminan database. Dalam mode performa tinggi (yaitu, ketika SAFETY properti diatur ke OFF ), nilai ini umumnya 0 adalah . |
time_recorded |
datetime | Waktu di mana monitor pencerminan database merekam baris. Nilai ini adalah waktu jam sistem dari prinsipal. |
time_behind |
datetime | Perkiraan waktu jam sistem dari prinsipal tempat database cermin saat ini terjebak. Nilai ini hanya bermakna pada instans server utama. |
local_time |
datetime | Waktu jam sistem pada instans server lokal ketika baris ini diperbarui. |
Keterangan
sp_dbmmonitorresults
hanya dapat dijalankan dalam konteks msdb
database.
Izin
Memerlukan keanggotaan dalam peran server tetap sysadmin atau dalam peran database tetap dbm_monitor dalam msdb
database. Peran dbm_monitor memungkinkan anggotanya untuk melihat status pencerminan database, tetapi tidak memperbaruinya tetapi tidak menampilkan atau mengonfigurasi peristiwa pencerminan database.
Catatan
Pertama kali dijalankan sp_dbmmonitorupdate
, ia membuat peran database tetap dbm_monitor dalam msdb
database. Anggota peran server tetap sysadmin dapat menambahkan pengguna apa pun ke peran database tetap dbm_monitor .
Contoh
Contoh berikut mengembalikan baris yang direkam selama dua jam sebelumnya tanpa memperbarui status database.
USE msdb;
EXEC sp_dbmmonitorresults AdventureWorks2022, 2, 0;