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.

Icona di collegamento a un argomento 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)

Concetti

Modifica delle proprietà di pubblicazioni e articoli