sp_changemergefilter (Transact-SQL)

Gilt für:SQL Server

Ändert einige Mergefiltereigenschaften. Diese gespeicherte Prozedur wird im Publisher in der Publikationsdatenbank ausgeführt.

Transact-SQL-Syntaxkonventionen

Syntax

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 ]
[ ; ]

Argumente

[ @publication = ] N'Publikation'

Der Name der Veröffentlichung. @publication ist "sysname" ohne Standard.

[ @article = ] N'article'

Der Name des Artikels. @article ist "sysname" ohne Standard.

[ @filtername = ] N'filtername'

Der aktuelle Name des Filters. @filtername ist "sysname" ohne Standard.

[ @property = ] N'property'

Der Name der zu ändernden Eigenschaft. @property ist "sysname" ohne Standard.

[ @value = ] N'value'

Der neue Wert für die angegebene Eigenschaft. @value ist nvarchar(1000), ohne Standard.

In der folgenden Tabelle werden die Eigenschaften von Artikeln und die Werte für diese Eigenschaften beschrieben.

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 Die Verknüpfung ist nicht auf einem eindeutigen Schlüssel vorhanden.

[ @force_invalidate_snapshot = ] force_invalidate_Momentaufnahme

Erkennt an, dass die von dieser gespeicherten Prozedur ausgeführte Aktion möglicherweise eine vorhandene Momentaufnahme ungültig macht. @force_invalidate_Momentaufnahme ist bit, mit einem Standardwert von 0.

  • 0Gibt an, dass Änderungen am Seriendruckartikel nicht dazu führen, dass die Momentaufnahme ungültig sind. Wenn die gespeicherte Prozedur erkennt, dass die Änderungen eine neue Momentaufnahme erfordern, tritt ein Fehler auf und es werden keine Änderungen vorgenommen.

  • 1bedeutet, dass Änderungen am Seriendruckartikel dazu führen können, dass die Momentaufnahme ungültig sind, und wenn vorhandene Abonnements vorhanden sind, die eine neue Momentaufnahme erfordern, erteilen Sie die Berechtigung, dass die vorhandenen Momentaufnahme als veraltet gekennzeichnet werden und eine neue Momentaufnahme generiert wird.

[ @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 bit, mit einem Standardwert von 0.

  • 0 Gibt an, dass Änderungen am Seriendruckartikel nicht dazu führen, dass das Abonnement erneut initialisiert wird. Wenn die gespeicherte Prozedur erkennt, dass die Änderung die Neuinitialisierung vorhandener Abonnements erfordert, tritt ein Fehler auf, und es werden keine Änderungen durchgeführt.

  • 1 bedeutet, dass Änderungen am Seriendruckartikel vorhandene Abonnements erneut initialisieren und die Berechtigung für die Erneute Initialisierung des Abonnements erteilen.

Rückgabecodewerte

0 (Erfolg) oder 1 (Fehler).

Hinweise

sp_changemergefilter wird in der Seriendruckreplikation verwendet.

Das Ändern des Filters für einen Mergeartikel erfordert, dass eine vorhandene Momentaufnahme erneut erstellt wird. Dies erfolgt durch Festlegen des @force_invalidate_Momentaufnahme auf 1. Wenn es Abonnements für diesen Artikel gibt, müssen die Abonnements erneut initialisiert werden, was durch Festlegen der @force_reinit_subscription1erfolgt.

Um logische Datensätze zu verwenden, müssen die Publikation und die Artikel mehrere 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 db_owner feste Datenbankrolle können ausgeführt werden sp_changemergefilter.