Bagikan melalui


sp_setsubscriptionxactseqno (T-SQL)

Berlaku untuk: SQL Server

Digunakan selama pemecahan masalah untuk menentukan transaksi terakhir yang dikirim menggunakan nomor urutan log (LSN), memungkinkan Agen Distribusi untuk mulai mengirimkan pada transaksi berikutnya. Setelah dimulai ulang, Agen Distribusi mengembalikan transaksi yang lebih besar dari marka air (LSN) ini dari cache database Distribusi (msrepl_commands). Prosedur tersimpan ini dijalankan di Pelanggan pada database langganan. Tidak didukung untuk Pelanggan non-SQL Server.

Perhatian

Menggunakan prosedur tersimpan ini dengan salah atau menentukan nilai LSN yang salah dapat menyebabkan Agen Distribusi mengembalikan perubahan yang sudah diterapkan di Pelanggan atau melewati semua perubahan yang tersisa.

Konvensi sintaks transact-SQL

Sintaks

sp_setsubscriptionxactseqno
    [ @publisher = ] N'publisher'
    , [ @publisher_db = ] N'publisher_db'
    , [ @publication = ] N'publication'
    , [ @xact_seqno = ] xact_seqno
[ ; ]

Argumen

[ @publisher = ] N'publisher'

Nama Publisher. @publisher adalah sysname, tanpa default.

[ @publisher_db = ] N'publisher_db'

Nama database publikasi. @publisher_db adalah sysname, tanpa default. Untuk Penerbit non-SQL Server, @publisher_db adalah nama database distribusi.

[ @publication = ] N'publikasi'

Nama publikasi. @publication adalah sysname, tanpa default. Ketika lebih dari satu publikasi berbagi Agen Distribusi, Anda harus menentukan nilai ALL untuk @publication.

[ @xact_seqno = ] xact_seqno

LSN transaksi berikutnya di Distributor yang akan diterapkan pada Pelanggan. @xact_seqno adalah varbinary(16), tanpa default.

Tataan hasil

Nama kolom Jenis data Deskripsi
ORIGINAL XACT_SEQNO varbinary(16) LSN asli dari transaksi berikutnya yang akan diterapkan pada Pelanggan.
UPDATED XACT_SEQNO varbinary(16) LSN yang diperbarui dari transaksi berikutnya yang akan diterapkan pada Pelanggan.
SUBSCRIPTION STREAM COUNT int Jumlah aliran langganan yang digunakan selama sinkronisasi terakhir.

Mengembalikan nilai kode

0 (berhasil) atau 1 (kegagalan).

Keterangan

sp_setsubscriptionxactseqno digunakan dalam replikasi transaksional.

sp_setsubscriptionxactseqno tidak dapat digunakan dalam topologi replikasi transaksional peer-to-peer.

sp_setsubscriptionxactseqno dapat digunakan untuk melewati transaksi tertentu yang menyebabkan kesalahan saat berlaku di Pelanggan. Ketika ada kegagalan dan setelah Agen Distribusi berhenti, panggil sp_helpsubscriptionerrors di Distributor untuk mengambil xact_seqno nilai transaksi yang gagal, lalu panggil sp_setsubscriptionxactseqno, meneruskan nilai ini untuk @xact_seqno. Ini memastikan bahwa hanya perintah setelah LSN ini yang diproses.

Tentukan nilai 0 untuk @xact_seqno untuk mengirimkan semua perintah yang tertunda dalam database distribusi ke Pelanggan.

sp_setsubscriptionxactseqno mungkin gagal jika Agen Distribusi menggunakan aliran multi-langganan.

Ketika kesalahan ini terjadi, Anda harus menjalankan Agen Distribusi dengan satu aliran langganan. Untuk informasi selengkapnya, lihat Agen Distribusi Replikasi.

Izin

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