sp_check_for_sync_trigger (T-SQL)
Berlaku untuk: SQL Server
Azure SQL Managed Instance
Menentukan apakah pemicu yang ditentukan pengguna atau prosedur tersimpan sedang dipanggil dalam konteks pemicu replikasi, yang digunakan untuk segera memperbarui langganan. Prosedur tersimpan ini dijalankan di Publisher pada database publikasi atau di Pelanggan pada database langganan.
Sintaks
sp_check_for_sync_trigger
[ @tabid = ] tabid
[ , [ @trigger_op = ] 'trigger_op' OUTPUT ]
[ , [ @fonpublisher = ] fonpublisher ]
[ ; ]
Argumen
[ @tabid = ] tabid
ID objek tabel yang sedang diperiksa untuk segera memperbarui pemicu. @tabid int, tanpa default.
[ @trigger_op = ] OUTPUT 'trigger_op'
Menentukan apakah parameter output adalah mengembalikan jenis pemicu yang dipanggilnya. @trigger_op adalah parameter OUTPUT dari jenis char(10), dan dapat menjadi salah satu nilai ini.
Nilai | Deskripsi |
---|---|
Ins |
INSERT pelatuk |
Upd |
UPDATE pelatuk |
Del |
DELETE pelatuk |
NULL (default) |
[ @fonpublisher = ] fonpublisher
Menentukan lokasi tempat prosedur tersimpan dijalankan. @fonpublisher adalah bit, dengan default .0
- Jika
0
, eksekusi ada di Pelanggan. - Jika
1
, eksekusi ada di Publisher.
Mengembalikan nilai kode
0 menunjukkan bahwa prosedur tersimpan tidak dipanggil dalam konteks pemicu pembaruan segera. 1 menunjukkan bahwa pemicu dipanggil dalam konteks pemicu yang segera diperbarui dan merupakan jenis pemicu yang dikembalikan dalam @trigger_op.
Keterangan
sp_check_for_sync_trigger
digunakan dalam replikasi rekam jepret dan replikasi transaksional.
sp_check_for_sync_trigger
digunakan untuk berkoordinasi antara replikasi dan pemicu yang ditentukan pengguna. Prosedur tersimpan ini menentukan apakah sedang dipanggil dalam konteks pemicu replikasi. Misalnya, Anda dapat memanggil prosedur sp_check_for_sync_trigger
dalam isi pemicu yang ditentukan pengguna. Jika sp_check_for_sync_trigger
mengembalikan 0
, pemicu yang ditentukan pengguna akan terus diproses. Jika sp_check_for_sync_trigger
mengembalikan 1
, pemicu yang ditentukan pengguna akan keluar. Ini memastikan bahwa pemicu yang ditentukan pengguna tidak diaktifkan saat pemicu replikasi memperbarui tabel.
Contoh
J. Menambahkan kode ke pemicu pada tabel Pelanggan
Contoh berikut menunjukkan kode yang dapat digunakan dalam pemicu pada tabel Pelanggan.
DECLARE @retcode INT,
@trigger_op CHAR(10),
@table_id INT;
SELECT @table_id = object_id('tablename');
EXEC @retcode = sp_check_for_sync_trigger
@table_id,
@trigger_op OUTPUT;
IF @retcode = 1
RETURN;
B. Menambahkan kode ke pemicu pada tabel Publisher
Kode juga dapat ditambahkan ke pemicu pada tabel di Publisher; kodenya mirip, tetapi panggilan untuk sp_check_for_sync_trigger
menyertakan parameter tambahan.
DECLARE @retcode INT,
@trigger_op CHAR(10),
@table_id INT,
@fonpublisher INT;
SELECT @table_id = object_id('tablename');
SELECT @fonpublisher = 1;
EXEC @retcode = sp_check_for_sync_trigger
@table_id,
@trigger_op OUTPUT,
@fonpublisher;
IF @retcode = 1
RETURN;
Izin
Setiap pengguna dengan SELECT
izin dalam tampilan sistem sys.objects dapat menjalankan sp_check_for_sync_trigger
.
Konten terkait
Saran dan Komentar
https://aka.ms/ContentUserFeedback.
Segera hadir: Sepanjang tahun 2024 kami akan menghentikan penggunaan GitHub Issues sebagai mekanisme umpan balik untuk konten dan menggantinya dengan sistem umpan balik baru. Untuk mengetahui informasi selengkapnya, lihat:Kirim dan lihat umpan balik untuk