sp_changemergefilter (T-SQL)

Berlaku untuk:SQL Server

Mengubah beberapa properti filter gabungan. Prosedur tersimpan ini dijalankan di Publisher pada database publikasi.

Konvensi sintaks transact-SQL

Sintaks

sp_changemergefilter
    [ @publication = ] N'publication'
    , [ @article = ] N'article'
    , [ @filtername = ] N'filtername'
    , [ @property = ] N'property'
    , [ @value = ] N'value'
    [ , [ @force_invalidate_snapshot = ] force_invalidate_snapshot ]
    [ , [ @force_reinit_subscription = ] force_reinit_subscription ]
[ ; ]

Argumen

[ @publication = ] N'publikasi'

Nama publikasi. @publication adalah sysname, tanpa default.

[ @article = ] N'article'

Nama artikel. @article adalah sysname, tanpa default.

[ @filtername = ] N'filtername'

Nama filter saat ini. @filtername adalah sysname, tanpa default.

[ @property = ] N'property'

Nama properti yang akan diubah. @property adalah sysname, tanpa default.

[ @value = ] N'value'

Nilai baru untuk properti yang ditentukan. @value adalah nvarchar(1000), tanpa default.

Tabel berikut ini menjelaskan properti artikel, dan nilai untuk properti tersebut.

Properti Nilai Deskripsi
filter_type 1 Filter gabungan.

Opsi ini diperlukan untuk mendukung Pelanggan Ringkas SQL Server.
2 Hubungan rekaman logis.
3 Filter gabungan juga merupakan hubungan rekaman logis.
filtername Nama filter.
join_articlename Nama artikel gabungan.
join_filterclause Klausa filter.
join_unique_key true Gabungan ada di kunci unik
false Gabungan tidak berada pada kunci unik.

[ @force_invalidate_snapshot = ] force_invalidate_snapshot

Mengakui bahwa tindakan yang diambil oleh prosedur tersimpan ini mungkin membatalkan rekam jepret yang ada. @force_invalidate_snapshot adalah bit, dengan default 0.

  • 0 menentukan bahwa perubahan pada artikel penggabungan tidak menyebabkan rekam jepret tidak valid. Jika prosedur tersimpan mendeteksi bahwa perubahan memang memerlukan rekam jepret baru, kesalahan terjadi dan tidak ada perubahan yang dilakukan.

  • 1 berarti bahwa perubahan pada artikel penggabungan dapat menyebabkan rekam jepret tidak valid, dan jika ada langganan yang memerlukan rekam jepret baru, memberikan izin agar rekam jepret yang ada ditandai sebagai usang dan rekam jepret baru yang dihasilkan.

[ @force_reinit_subscription = ] force_reinit_subscription

Mengakui bahwa tindakan yang diambil oleh prosedur tersimpan ini mungkin mengharuskan langganan yang ada untuk diinisialisasi ulang. @force_reinit_subscription adalah bit, dengan default 0.

  • 0 menentukan bahwa perubahan pada artikel penggabungan tidak menyebabkan langganan diinisialisasi ulang. Jika prosedur tersimpan mendeteksi bahwa perubahan akan mengharuskan langganan yang ada diinisialisasi ulang, kesalahan terjadi dan tidak ada perubahan yang dilakukan.

  • 1 berarti bahwa perubahan pada artikel penggabungan menginisialisasi ulang langganan yang ada, dan memberikan izin agar reinisialisasi langganan terjadi.

Mengembalikan nilai kode

0 (berhasil) atau 1 (kegagalan).

Keterangan

sp_changemergefilter digunakan dalam replikasi penggabungan.

Mengubah filter pada artikel penggabungan memerlukan rekam jepret, jika ada, untuk dibuat ulang. Ini dilakukan dengan mengatur @force_invalidate_snapshot ke 1. Jika ada langganan untuk artikel ini, langganan perlu diinisialisasi ulang, yang dilakukan dengan mengatur @force_reinit_subscription ke 1.

Untuk menggunakan catatan logis, publikasi dan artikel harus memenuhi beberapa persyaratan. Untuk informasi selengkapnya, lihat Perubahan Grup pada Baris Terkait dengan Rekaman Logis.

Izin

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