Bagikan melalui


sp_repldone (T-SQL)

Berlaku untuk:SQL ServerAzure 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. sp_repldone hanya boleh digunakan untuk memecahkan masalah replikasi seperti yang diarahkan oleh profesional dukungan replikasi yang berpengalaman.

Konvensi sintaks transact-SQL

Sintaks

sp_repldone [ @xactid= ] xactid   
        , [ @xact_seqno= ] xact_seqno   
    [ , [ @numtrans= ] numtrans ]   
    [ , [ @time= ] time   
    [ , [ @reset= ] reset ]  

Argumen

[ @xactid = ] xactid Adalah nomor urutan log (LSN) dari rekaman pertama untuk transaksi terdistribusi terakhir server. xactid adalah biner(10), tanpa default.

[ @xact_seqno = ] xact_seqno Adalah LSN dari catatan terakhir untuk transaksi terdistribusi terakhir server. xact_seqno adalah biner(10), tanpa default.

[ @numtrans = ] numtrans Adalah jumlah transaksi yang didistribusikan. numtrans adalah int, tanpa default.

[ @time = ] time Adalah jumlah milidetik, jika disediakan, diperlukan untuk mendistribusikan batch transaksi terakhir. waktu adalah int, tanpa default.

[ @reset = ] reset Adalah 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 terdistribusi. reset hanya valid 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.

Izin

Anggota peran server tetap sysadmin atau peran database tetap db_owner dapat menjalankan sp_repldone.

Contoh

Ketika xactid adalah NULL, xact_seqno 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:

EXEC sp_repldone @xactid = NULL, @xact_seqno = NULL, @numtrans = 0, @time = 0, @reset = 1  

Perhatian

Prosedur ini dapat digunakan dalam situasi darurat untuk memungkinkan pemotongan log transaksi ketika transaksi tertunda replikasi ada.

Lihat Juga

sp_replcmds (T-SQL)
sp_replflush (T-SQL)
sp_repltrans (T-SQL)
Prosedur Tersimpan Sistem (Transact-SQL)