sp_changemergefilter (Transact-SQL)
Consente di modificare alcune proprietà del filtro di merge. Questa stored procedure viene eseguita nel database di pubblicazione del server di pubblicazione.
Convenzioni della sintassi Transact-SQL
Sintassi
sp_changemergefilter [ @publication= ] 'publication'
, [ @article= ] 'article'
, [ @filtername= ] 'filtername'
, [ @property= ] 'property'
, [ @value= ] 'value'
[ , [ @force_invalidate_snapshot = ] force_invalidate_snapshot ]
[ , [ @force_reinit_subscription = ] force_reinit_subscription ]
Argomenti
[ @publication= ] 'publication'
Nome della pubblicazione. publication è di tipo sysname e non prevede alcun valore predefinito.[ @article= ] 'article'
Nome dell'articolo. article è di tipo sysname e non prevede alcun valore predefinito.[ @filtername= ] 'filtername'
Nome corrente del filtro. filtername è di tipo sysname e non prevede alcun valore predefinito.[ @property= ] 'property'
Nome della proprietà da modificare. property è di tipo sysname e non prevede alcun valore predefinito.[ @value=] 'value'
Nuovo valore della proprietà specificata. value è di tipo nvarchar(1000) e non prevede alcun valore predefinito.Nella tabella seguente vengono descritte le proprietà degli articoli e i valori corrispondenti.
Proprietà
Valore
Descrizione
filter_type
1
Filtro join.
Questa opzione è necessaria per supportare i Sottoscrittori SQL Server Compact.
2
Relazione tra record logici.
3
Il filtro join è anche una relazione tra record logici.
filtername
Nome del filtro.
join_articlename
Nome dell'articolo di join.
join_filterclause
Clausola di filtro.
join_unique_key
true
Il join è basato su una chiave univoca.
false
Il join non è basato su una chiave univoca.
[ @force_invalidate_snapshot = ] force_invalidate_snapshot
Segnala che l'azione eseguita da questa stored procedure potrebbe invalidare uno snapshot esistente. force_invalidate_snapshot è di tipo bit e il valore predefinito è 0.0 specifica che le modifiche apportate all'articolo di merge non invalideranno lo snapshot. Se la stored procedure rileva che la modifica richiede un nuovo snapshot, viene generato un errore e non viene apportata alcuna modifica.
1 indica che le modifiche apportate all'articolo di merge potrebbero invalidare lo snapshot e, se sono disponibili sottoscrizioni che richiedono un nuovo snapshot, consente di contrassegnare lo snapshot esistente come obsoleto e di generarne uno nuovo.
[ @force_reinit_subscription = ] force_reinit_subscription
Segnala che l'azione eseguita dalla stored procedure potrebbe richiedere la reinizializzazione delle sottoscrizioni esistenti. force_reinit_subscription è di tipo bit e il valore predefinito è 0.0 specifica che le modifiche apportate all'articolo di merge non causano la reinizializzazione della sottoscrizione. Se la stored procedure rileva che la modifica richiede la reinizializzazione delle sottoscrizioni esistenti, viene generato un errore e non viene apportata alcuna modifica.
1 indica che le modifiche apportate all'articolo di merge causano la reinizializzazione delle sottoscrizioni esistenti e consente la reinizializzazione.
Valori restituiti
0 (esito positivo) o 1 (esito negativo)
Osservazioni
sp_changemergefilter viene utilizzata per la replica di tipo merge.
Per modificare il filtro in un articolo di merge, è necessario ricreare lo snapshot, se disponibile. A tale scopo, impostare @force_invalidate_snapshot su 1. È inoltre necessario reinizializzare le eventuali sottoscrizioni esistenti dell'articolo. A tale scopo, impostare @force_reinit_subscription su 1.
Per utilizzare record logici, è necessario che la pubblicazione e gli articoli soddisfino alcuni requisiti. Per ulteriori informazioni, vedere Raggruppamento di modifiche alla righe correlate con record logici.
Autorizzazioni
Solo i membri del ruolo predefinito del server sysadmin o del ruolo predefinito del database db_owner possono eseguire sp_changemergefilter.
Vedere anche
Riferimento
sp_addmergefilter (Transact-SQL)
sp_dropmergefilter (Transact-SQL)
sp_helpmergefilter (Transact-SQL)
Stored procedure di sistema (Transact-SQL)