Catatan
Akses ke halaman ini memerlukan otorisasi. Anda dapat mencoba masuk atau mengubah direktori.
Akses ke halaman ini memerlukan otorisasi. Anda dapat mencoba mengubah direktori.
Berlaku untuk: SQL Server
Azure SQL Managed Instance
Memperbarui catatan yang mengidentifikasi transaksi terdistribusi terakhir server. Prosedur tersimpan ini dijalankan di Publisher pada database publikasi.
Perhatian
Jika Anda menjalankan sp_repldone secara manual, Anda dapat membatalkan pesanan dan konsistensi transaksi yang dikirimkan. Anda hanya boleh menggunakan sp_repldone untuk memecahkan masalah replikasi seperti yang diarahkan oleh profesional dukungan replikasi berpengalaman.
Sintaks
sp_repldone [ @xactid = ] xactid
, [ @xact_seqno = ] xact_seqno
[ , [ @numtrans = ] numtrans ]
[ , [ @time = ] time ]
[ , [ @reset = ] reset ]
[ ; ]
Argumen
Penting
Argumen untuk prosedur tersimpan yang diperluas harus dimasukkan dalam urutan tertentu seperti yang dijelaskan di bagian Sintaks. Jika parameter dimasukkan di luar urutan, pesan kesalahan terjadi.
[ @xactid = ] xactid
Nomor urutan log (LSN) dari rekaman pertama untuk transaksi terdistribusi terakhir server. @xactid adalah biner(10), tanpa default.
[ @xact_seqno = ] xact_seqno
LSN dari catatan terakhir untuk transaksi terdistribusi terakhir server. @xact_seqno adalah biner(10), tanpa default.
[ @numtrans = ] numtrans
Jumlah transaksi yang didistribusikan. @numtrans int, tanpa default.
[ @time = ] waktu
Jumlah milidetik, jika disediakan, diperlukan untuk mendistribusikan batch transaksi terakhir. @time int, tanpa default.
[ @reset = ] reset
Status reset. @reset int, tanpa default.
- Jika
1, semua transaksi yang direplikasi dalam log ditandai sebagai terdistribusi. - Jika
0, log transaksi diatur ulang ke transaksi pertama yang direplikasi dan tidak ada transaksi yang direplikasi ditandai sebagai didistribusikan.
@reset hanya berlaku ketika @xactid dan @xact_seqno adalah NULL.
Mengembalikan nilai kode
0 (berhasil) atau 1 (kegagalan).
Keterangan
sp_repldone digunakan dalam replikasi transaksional.
sp_repldone digunakan oleh proses pembaca log untuk melacak transaksi mana yang telah didistribusikan.
Dengan sp_repldone, Anda dapat memberi tahu server secara manual bahwa transaksi telah direplikasi (dikirim ke Distributor). Ini juga memungkinkan Anda untuk mengubah transaksi yang ditandai sebagai yang berikutnya menunggu replikasi. Anda dapat maju atau mundur dalam daftar transaksi yang direplikasi. (Semua transaksi kurang dari atau sama dengan transaksi tersebut ditandai sebagai terdistribusi.)
Parameter yang diperlukan @xactid dan @xact_seqno dapat diperoleh dengan menggunakan sp_repltrans atau sp_replcmds.
Prosedur ini dapat digunakan dalam situasi darurat untuk memungkinkan pemotongan log transaksi ketika transaksi tertunda replikasi ada. Untuk informasi selengkapnya, lihat bagian Contoh .
Izin
Anggota peran server tetap sysadmin atau peran database tetap db_owner dapat menjalankan sp_repldone.
Contoh
Ketika @xactid adalah NULL, @xact_seqno adalah NULL, dan @reset adalah 1, semua transaksi yang direplikasi dalam log ditandai sebagai didistribusikan. Ini berguna ketika ada transaksi yang direplikasi dalam log transaksi yang tidak lagi valid dan Anda ingin memotong log, misalnya:
EXECUTE sp_repldone
@xactid = NULL,
@xact_seqno = NULL,
@numtrans = 0,
@time = 0,
@reset = 1;