sp_replmonitorsubscriptionpendingcmds (T-SQL)

Berlaku untuk:SQL ServerAzure SQL Managed Instance

Mengembalikan informasi tentang jumlah perintah yang tertunda untuk langganan ke publikasi transaksional dan perkiraan kasar tentang berapa banyak waktu yang diperlukan untuk memprosesnya. Prosedur tersimpan ini mengembalikan satu baris untuk setiap langganan yang dikembalikan. Prosedur tersimpan ini, yang digunakan untuk memantau replikasi, dijalankan di Distributor pada database distribusi.

Konvensi sintaks transact-SQL

Sintaks

sp_replmonitorsubscriptionpendingcmds [ @publisher = ] 'publisher'
    , [ @publisher_db = ] 'publisher_db'
    , [ @publication = ] 'publication'
    , [ @subscriber = ] 'subscriber'
    , [ @subscriber_db = ] 'subscriber_db'
    , [ @subscription_type = ] subscription_type
    , [ @subdb_version = ] subdb_version

Argumen

[ @publisher = ] 'penerbit'

Nama Publisher. publisher adalah sysname, tanpa default.

[ @publisher_db = ] 'publisher_db'

Nama database yang diterbitkan. publisher_db adalah sysname, tanpa default.

[ @publication = ] 'publikasi'

Nama publikasi. publikasi adalah sysname, tanpa default.

[ @subscriber = ] 'pelanggan'

Nama Pelanggan. pelanggan adalah sysname, tanpa default.

[ @subscriber_db = ] 'subscriber_db'

Nama database langganan. subscriber_db adalah sysname, tanpa default.

[ @subscription_type = ] subscription_type

Jenis langganan. subscription_type int, tanpa default dan dapat menjadi salah satu nilai ini.

Nilai Deskripsi
0 Langganan pendorongan
1 Langganan penarikan

[ @subdb_version = ] subdb_version

Database dbversion langganan. subdb_version adalah parameter opsional dari jenis int, dengan nilai default 0.

Tataan hasil

Nama kolom Jenis data Deskripsi
pendingcmdcount int Jumlah perintah yang tertunda untuk langganan.
estimatedprocesstime int Perkiraan jumlah detik yang diperlukan untuk mengirimkan semua perintah yang tertunda kepada pelanggan.

Mengembalikan nilai kode

0 (berhasil) atau 1 (kegagalan).

Keterangan

sp_replmonitorsubscriptionpendingcmds digunakan dengan replikasi transaksional.

Sebelum SQL Server 2019 (15.x) CU17, sp_replmonitorsubscriptionpendingcmds tidak didukung dengan replikasi peer-to-peer, dan mengembalikan jumlah perintah yang tertunda yang salah saat digunakan untuk mengkueri topologi replikasi peer-to-peer. Di SQL Server 2019 (15.x) CU 17, dukungan ditambahkan untuk kompatibel sp_replmonitorsubscriptionpendingcmds dengan publikasi peer-to-peer.

Namun, bahkan dengan SQL Server 2019 (15.x) CU17 atau yang lebih baru, sp_replmonitorsubscriptionpendingcmds dapat melaporkan jumlah perintah yang tertunda yang salah saat digunakan dengan replikasi peer-to-peer jika tabel MSrepl_originators berisi entri kedaluwarsa dari versi database langganan yang salah. Untuk memperbaiki masalah, hapus semua entri kedaluwarsa dari MSrepl_originators atau teruskan kebenaran dbversion database langganan saat menggunakan subdb_version argumen untuk prosedur tersimpan sp_replmonitorsubscriptionpendingcmds .

Lihat KB5017009 untuk detail tentang cara menentukan dbversion.

Izin

Hanya anggota peran server tetap sysadmin di Distributor atau anggota peran database tetap db_owner dalam database distribusi yang dapat menjalankan sp_replmonitorsubscriptionpendingcmds. Anggota daftar akses publikasi untuk publikasi yang menggunakan database distribusi dapat dijalankan sp_replmonitorsubscriptionpendingcmds untuk mengembalikan perintah yang tertunda untuk publikasi tersebut.