Bagikan melalui


sp_replcmds (T-SQL)

Berlaku untuk: SQL Server Azure SQL Managed Instance

Mengembalikan perintah untuk transaksi yang ditandai untuk replikasi. Prosedur tersimpan ini dijalankan di Publisher pada database publikasi.

Penting

Prosedur sp_replcmds harus dijalankan hanya untuk memecahkan masalah dengan replikasi.

Konvensi sintaks transact-SQL

Sintaks

sp_replcmds [ @maxtrans = ] maxtrans
[ ; ]

Argumen

[ @maxtrans = ] maxtrans

Jumlah transaksi untuk mengembalikan informasi tentang. @maxtrans int, dengan default 1, yang menentukan transaksi berikutnya yang menunggu distribusi.

Tataan hasil

Nama kolom Jenis data Deskripsi
article id int ID artikel.
partial_command bit Menunjukkan apakah perintah ini adalah perintah parsial.
command varbinary(1024) Nilai perintah.
xactid biner(10) ID Transaksi.
xact_seqno varbinary(16) Nomor urut transaksi.
publication_id int ID publikasi.
command_id int ID perintah dalam MSrepl_commands.
command_type int Jenis perintah.
originator_srvname nama sysname Server tempat transaksi berasal.
originator_db nama sysname Database tempat transaksi berasal.
pkHash int Penggunaan internal saja.
originator_publication_id int ID publikasi tempat transaksi berasal.
originator_db_version int Versi database tempat transaksi berasal.
originator_lsn varbinary(16) Mengidentifikasi nomor urutan log (LSN) untuk perintah dalam publikasi asal.

Keterangan

sp_replcmds digunakan oleh proses pembaca log dalam replikasi transaksional.

Replikasi memperlakukan klien pertama yang berjalan sp_replcmds dalam database tertentu sebagai pembaca log.

Prosedur ini dapat menghasilkan perintah untuk tabel yang memenuhi syarat pemilik atau tidak memenuhi syarat nama tabel (default). Menambahkan nama tabel yang memenuhi syarat memungkinkan replikasi data dari tabel yang dimiliki oleh pengguna tertentu dalam satu database ke tabel yang dimiliki oleh pengguna yang sama di database lain.

Karena nama tabel dalam database sumber memenuhi syarat oleh nama pemilik, pemilik tabel dalam database target haruslah nama pemilik yang sama.

Klien yang mencoba menjalankan sp_replcmds dalam database yang sama menerima kesalahan 18752 hingga klien pertama terputus. Setelah klien pertama terputus, klien lain dapat menjalankan sp_replcmds, dan menjadi pembaca log baru.

Nomor pesan peringatan 18759 ditambahkan ke log kesalahan SQL Server dan log aplikasi Microsoft Windows, jika sp_replcmds tidak dapat mereplikasi perintah teks karena penunjuk teks tidak diambil dalam transaksi yang sama.

Izin

Hanya anggota peran server tetap sysadmin atau peran database tetap db_owner yang dapat menjalankan sp_replcmds.