Freigeben über


sp_changemergefilter (Transact-SQL)

Ändert einige Mergefiltereigenschaften. Diese gespeicherte Prozedur wird beim Verleger mit der 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 Eigenschaft, die geändert werden soll. 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

    Verknüpfungsfilter.

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

     

    2

    Logische Datensatzbeziehung.

     

    3

    Ein Verknüpfungsfilter ist ebenfalls eine logische Datensatzbeziehung.

    filtername

     

    Name des Filters.

    join_articlename

     

    Name des Verknüpfungsartikels.

    join_filterclause

     

    Filterklausel

    join_unique_key

    true

    Die Verknüpfung betrifft einen eindeutigen Schlüssel.

     

    false

    Die Verknüpfung betrifft nicht einen eindeutigen Schlüssel.

  • [ @force_invalidate_snapshot = ] force_invalidate_snapshot
    Bestätigt, dass die von dieser gespeicherten Prozedur durchgeführte Aktion einen vorhandenen Snapshot für ungültig erklären kann. force_invalidate_snapshot ist vom Datentyp bit; der Standardwert ist 0.

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

    Der Wert 1 gibt an, dass der Snapshot durch Ändern des Mergeartikels ungültig werden kann. Wenn Abonnements vorhanden sind, die einen neuen Snapshot erfordern, wird mit diesem Wert die Berechtigung erteilt, den vorhandenen Snapshot als veraltet zu markieren und einen neuen Snapshot zu generieren.

  • [ @force_reinit_subscription = ] force_reinit_subscription
    Bestätigt, dass die von dieser gespeicherten Prozedur ausgeführte Aktion die erneute Initialisierung vorhandener Abonnements erfordern kann. force_reinit_subscription ist vom Datentyp bit und hat den Standardwert 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 ein vorhandener Snapshot 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.