Vorgehensweise: Definieren und Ändern eines statischen Zeilenfilters (SQL Server Management Studio)
Definieren, ändern oder löschen Sie statische Zeilenfilter im Assistenten für neue Veröffentlichung auf der Seite Tabellenzeilen filtern oder im Dialogfeld Veröffentlichungseigenschaften - <Veröffentlichung< auf der Seite Zeilen filtern. Weitere Informationen über das Verwenden des Assistenten sowie den Zugriff auf das Dialogfeld finden Sie unter Vorgehensweise: Erstellen einer Veröffentlichung und Definieren von Artikeln (SQL Server Management Studio) und Vorgehensweise: Anzeigen und Ändern der Eigenschaften von Veröffentlichungen und Artikeln (SQL Server Management Studio). Wenn die Veröffentlichung für die Peer-to-Peer-Transaktionsreplikation aktiviert wird, können Tabellen nicht gefiltert werden.
Hinweis |
---|
Wenn Sie nach dem Initialisieren von Abonnements für die Veröffentlichung statische Zeilenfilter im Dialogfeld Veröffentlichungseigenschaften - <Veröffentlichung> hinzufügen, ändern oder löschen, müssen Sie einen neuen Snapshot generieren und nach der Änderung alle Abonnements erneut initialisieren. Weitere Informationen zu den Anforderungen für Eigenschaftenänderungen finden Sie unter Ändern von Veröffentlichungs- und Artikeleigenschaften. |
So definieren Sie einen statischen Zeilenfilter
Die Aktion, die Sie im Assistenten für neue Veröffentlichung auf der Seite Tabellenzeilen filtern oder im Dialogfeld Veröffentlichungseigenschaften - <Veröffentlichung> auf der Seite Zeilen filtern ausführen, hängt vom Typ der Veröffentlichung ab:
Klicken Sie bei der Snapshot- oder Transaktionsveröffentlichung auf Hinzufügen.
Klicken Sie bei der Mergeveröffentlichung auf Hinzufügen und dann auf Filter hinzufügen.
Wählen Sie im Dialogfeld Filter hinzufügen im Dropdown-Listenfeld eine zu filternde Tabelle aus.
Erstellen Sie im Textfeld Filteranweisung eine Filteranweisung. Sie können den Text direkt in das Textfeld eingeben, und Sie können Spalten auch mit Drag und Drop aus dem Listenfeld Spalten einfügen.
Hinweis Verwenden Sie einen zweiteiligen Namen für die WHERE-Klausel, drei- oder vierteilige Namen werden nicht unterstützt. Wenn die Veröffentlichung von einem Oracle-Verleger stammt, muss die WHERE-Klausel mit der Oracle-Syntax kompatibel sein.
Das Textfeld Filteranweisung enthält den Standardtext im folgenden Format:
SELECT <published_columns> FROM [schema].[tablename] WHERE
Der Standardtext kann nicht geändert werden; geben Sie die Filterklausel nach dem WHERE-Schlüsselwort mithilfe der standardmäßigen SQL-Syntax ein. Die vollständige Filterklausel würde folgendermaßen lauten:
SELECT <published_columns> FROM [HumanResources].[Employee] WHERE [LoginID] = 'adventure-works\ranjit0'
Ein statischer Zeilenfilter kann eine benutzerdefinierte Funktion einschließen. Die vollständige Filterklausel für einen statischen Zeilenfilter mit einer benutzerdefinierten Funktion würde folgendermaßen lauten:
SELECT <published_columns> FROM [Sales].[SalesOrderHeader] WHERE MyFunction([Freight]) > 100
Klicken Sie auf OK.
Klicken Sie im Dialogfeld Veröffentlichungseigenschaften - <Veröffentlichung> auf OK, um Ihre Angaben zu speichern und das Dialogfeld zu schließen.
So ändern Sie einen statischen Zeilenfilter
Wählen Sie im Assistenten für neue Veröffentlichung auf der Seite Tabellenzeilen filtern oder im Dialogfeld Veröffentlichungseigenschaften - <Veröffentlichung< auf der Seite Zeilen filtern im Bereich Gefilterte Tabellen einen Filter aus, und klicken Sie dann auf Bearbeiten.
Ändern Sie den Filter im Dialogfeld Filter bearbeiten.
Klicken Sie auf OK.
So löschen Sie einen statischen Zeilenfilter
- Wählen Sie im Assistenten für neue Veröffentlichung auf der Seite Tabellenzeilen filtern oder im Dialogfeld Veröffentlichungseigenschaften - <Veröffentlichung< auf der Seite Zeilen filtern im Bereich Gefilterte Tabellen einen Filter aus, und klicken Sie dann auf Löschen.
Siehe auch