Freigeben über


sp_changemergefilter (Transact-SQL)

Ändert einige Mergefiltereigenschaften. Diese gespeicherte Prozedur wird auf Verlegerebene für die Veröffentlichungsdatenbank ausgeführt.

Themenlink (Symbol) Transact-SQL-Syntaxkonventionen

Syntax

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

Argumente

  • [ @publication= ] 'publication'
    Der Name der Veröffentlichung. publication ist vom Datentyp sysname und hat keinen Standardwert.

  • [ @article= ] 'article'
    Der Name des Artikels. article ist vom Datentyp sysname und hat keinen Standardwert.

  • [ @filtername= ] 'filtername'
    Der aktuelle Name des Filters. filtername ist vom Datentyp sysname und hat keinen Standardwert.

  • [ @property= ] 'property'
    Der Name der zu ändernden Eigenschaft. property ist vom Datentyp sysname und hat keinen Standardwert.

  • [ @value=] 'value'
    Der neue Wert für die angegebene Eigenschaft. valueist vom Datentyp nvarchar(1000) und hat keinen Standardwert.

    Diese Tabelle beschreibt die Eigenschaften von Artikeln und die Werte für diese Eigenschaften.

    Eigenschaft

    Wert

    Beschreibung

    filter_type

    1

    Joinfilter.

    Diese Option ist erforderlich, um SQL Server Compact-Abonnenten zu unterstützen.

     

    2

    Logische Datensatzbeziehung.

     

    3

    Ein Joinfilter ist ebenfalls eine logische Datensatzbeziehung.

    filtername

     

    Name des Filters.

    join_articlename

     

    Name des Join-Artikels.

    join_filterclause

     

    Filterklausel

    join_unique_key

    true

    Der Join betrifft einen eindeutigen Schlüssel.

     

    false

    Der Join betrifft nicht einen eindeutigen Schlüssel.

  • [ @force_invalidate_snapshot = ] force_invalidate_snapshot
    Bestätigt, dass durch die von dieser gespeicherten Prozedur ausgeführte Aktion möglicherweise eine vorhandene Momentaufnahme ungültig wird. force_invalidate_snapshot ist vom Datentyp bit. Der Standardwert ist 0.

    Der Wert 0 gibt an, dass die Momentaufnahme durch Änderungen am Mergeartikel nicht ungültig wird. Wenn die gespeicherte Prozedur erkennt, dass die Änderung eine neue Momentaufnahme erfordert, tritt ein Fehler auf, und es werden keine Änderungen durchgeführt.

    Der Wert 1 gibt an, dass die Momentaufnahme durch Ändern des Mergeartikels ungültig werden kann. Wenn Abonnements vorhanden sind, die eine neue Momentaufnahme erfordern, wird mit diesem Wert die Berechtigung erteilt, die vorhandene Momentaufnahme als veraltet zu markieren und eine neue Momentaufnahme zu generieren.

  • [ @force_reinit_subscription = ] force_reinit_subscription
    Bestätigt, dass die von dieser gespeicherten Prozedur ausgeführte Aktion möglicherweise das erneute Initialisieren von vorhandenen Abonnements erfordert. force_reinit_subscription ist vom Datentyp bit. Der Standardwert ist 0.

    Der Wert 0 gibt an, dass das Abonnement aufgrund von Änderungen am Mergeartikel nicht erneut initialisiert werden muss. Wenn die gespeicherte Prozedur erkennt, dass die Änderung die Neuinitialisierung vorhandener Abonnements erfordert, tritt ein Fehler auf, und es werden keine Änderungen durchgeführt.

    Der Wert 1 gibt an, dass Änderungen am Mergeartikel die Neuinitialisierung vorhandener Abonnements bewirken. Außerdem wird mit diesem Wert die Berechtigung zur Neuinitialisierung des Abonnements erteilt.

Rückgabecodewerte

0 (Erfolg) oder 1 (Fehler)

Hinweise

sp_changemergefilter wird für die Mergereplikation verwendet.

Das Ändern des Filters für einen Mergeartikel erfordert, dass eine vorhandene Momentaufnahme erneut erstellt wird. Dies wird durch das Festlegen von @force_invalidate_snapshot auf 1 erreicht. Wenn es Abonnements für diesen Artikel gibt, müssen die Abonnements erneut initialisiert werden. Dies wird durch Festlegen von @force_reinit_subscription auf 1 erreicht.

Um logische Datensätze verwenden zu können, müssen die Veröffentlichung und die Artikel eine Reihe von Anforderungen erfüllen. Weitere Informationen finden Sie unter Gruppieren von Änderungen an verknüpften Zeilen mithilfe von logischen Datensätzen.

Berechtigungen

Nur Mitglieder der festen Serverrolle sysadmin oder der festen Datenbankrolle db_owner können sp_changemergefilter ausführen.

Siehe auch

Verweis

sp_addmergefilter (Transact-SQL)

sp_dropmergefilter (Transact-SQL)

sp_helpmergefilter (Transact-SQL)

Gespeicherte Systemprozeduren (Transact-SQL)

Konzepte

Ändern von Veröffentlichungs- und Artikeleigenschaften