sp_changemergefilter (Transact-SQL)
Ändert einige Mergefiltereigenschaften. Diese gespeicherte Prozedur wird beim Verleger mit der Veröffentlichungsdatenbank ausgeführt.
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.