Vorgehensweise: Definieren und Ändern eines statischen Zeilenfilters (SQL Server Management Studio)
Definieren, ändern oder löschen Sie statische Zeilenfilter im Assistenten für neue Publikation auf der Seite Tabellenzeilen filtern oder im Dialogfeld Publikationseigenschaften - <Publication< auf der Seite Zeilen filtern. Weitere Informationen zum Verwenden des Assistenten sowie zum Zugreifen auf das Dialogfeld finden Sie unter Vorgehensweise: Erstellen einer Publikation und Definieren von Artikeln (SQL Server Management Studio) und Vorgehensweise: Anzeigen und Ändern der Eigenschaften von Publikationen und Artikeln (SQL Server Management Studio). Wenn die Publikation 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 Publikation statische Zeilenfilter im Dialogfeld Publikationseigenschaften - <Publication> 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 Publikations- und Artikeleigenschaften. |
So definieren Sie einen statischen Zeilenfilter
Die Aktion, die Sie im Assistenten für neue Publikation auf der Seite Tabellenzeilen filtern oder im Dialogfeld Publikationseigenschaften - <Publication> auf der Seite Zeilen filtern ausführen, hängt vom Typ der Publikation ab:
- Klicken Sie bei der Snapshot- oder Transaktionspublikation auf Hinzufügen.
- Klicken Sie bei der Mergepublikation 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 Publikation 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 Eigenschaften von Publikation - <Publication> 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 Publikation auf der Seite Tabellenzeilen filtern oder im Dialogfeld Publikationseigenschaften - <Publication< 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 Publikation auf der Seite Tabellenzeilen filtern oder im Dialogfeld Publikationseigenschaften - <Publication< auf der Seite Zeilen filtern im Bereich Gefilterte Tabellen einen Filter aus, und klicken Sie dann auf Löschen.
Siehe auch
Aufgaben
Konzepte
Filtern von veröffentlichten Daten
Andere Ressourcen
How to: Define and Modify a Static Row Filter (Replication Transact-SQL Programming)