Freigeben über


Filter generieren

Mithilfe des Dialogfeldes Filter generieren können Sie einen Zeilenfilter für eine Tabelle in einer Mergepublikation definieren. Die Replikation erweitert dann den Filter automatisch auf andere Tabellen, die durch Fremdschlüsselbeziehungen verbunden sind. Wenn Sie z. B. einen Filter für eine Kundentabelle so definieren, dass diese nur Daten zu französischen Kunden enthält, dann erweitert die Replikation den Filter derart, dass verknüpfte Tabellen mit Bestellungen und Bestellungsdetails nur Informationen enthalten, die sich auf französische Kunden beziehen.

Optionen

Dieses Dialogfeld enthält einen dreistufigen Vorgang zum Erstellen eines Zeilenfilters für eine Tabelle. Der Filter wird dann auf die Tabellen erweitert, die mit der gefilterten Tabelle über Primärschlüssel- und Fremdschlüsselbeziehungen verknüpft sind. Wenn z. B. drei Tabellen gegeben sind, Customer, SalesOrderHeader und SalesOrderDetail, mit einer Beziehung zwischen Customer und SalesOrderHeader sowie einer Beziehung zwischen SalesOrderHeader und SalesOrderDetail, dann können Sie einen Zeilenfilter auf Customer anwenden, und die Replikation erweitert diesen Filter auf SalesOrderHeader und SalesOrderDetail.

  1. Wählen Sie die zu filternde Tabelle aus.
    Wählen Sie eine Tabelle aus dem Dropdownlistenfeld aus. Tabellen werden im Listenfeld nur dann angezeigt, wenn sie auf der Seite Artikel ausgewählt wurden.
  2. Vervollständigen Sie die Filteranweisung, um die von Abonnenten empfangenen Tabellenzeilen zu identifizieren.
    Definieren Sie eine neue Filteranweisung. Im Listenfeld Spalten werden alle Spalten aufgeführt, die Sie aus einer in Wählen Sie die zu filternde Tabelle aus ausgewählten Tabelle veröffentlichen. Der Textbereich Filteranweisung schließt den Standardtext der folgenden Form ein:
    SELECT <published_columns> FROM [tableowner].[tablename] WHERE
    Der Text kann nicht geändert werden. Geben Sie die Filterklausel nach dem WHERE-Schlüsselwort mithilfe der standardmäßigen Transact-SQL-Syntax ein.
    ms188982.note(de-de,SQL.90).gifWichtig:
    Aus Leistungsgründen wird empfohlen, dass auf Spaltennamen in parametrisierten Zeilenfilterklauseln keine Funktionen (z. B. LEFT([MyColumn]) = SUSER_SNAME()) angewendet werden. Wenn Sie HOST_NAME in einer Filterklausel verwenden und den Wert HOST_NAME überschreiben, kann es erforderlich sein, Datentypen mithilfe von CONVERT zu konvertieren. Weitere Informationen zu bewährten Methoden für diesen Fall finden Sie im Abschnitt über das Überschreiben des HOST_NAME()-Wertes im Thema Parametrisierte Zeilenfilter.
  3. Geben Sie an, wie viele Abonnements Daten aus dieser Tabelle empfangen.
    Nur in Microsoft SQL Server 2005 und höheren Versionen. Mithilfe von Mergereplikationen können Sie den für Ihre Daten und Ihre Anwendung am besten geeigneten Partitionstyp angeben. Wenn Sie Eine Zeile aus dieser Tabelle wird nur an ein Abonnement gesendet auswählen, legt die Mergereplikation die Option für nicht überlappende Partitionen fest. Nicht überlappende Partitionen arbeiten zur Leistungsverbesserung mit vorausberechneten Partitionen zusammen, wobei nicht überlappende Partitionen die bei vorausberechneten Partitionen entstehenden Uploadkosten minimieren. Die Leistungsvorteile nicht überlappender Partitionen treten deutlicher hervor, wenn die verwendeten parametrisierten Filter und Verknüpfungsfilter komplexer sind. Bei Auswahl dieser Option müssen Sie jedoch sicherstellen, dass die Daten so partitioniert werden, dass eine Zeile nicht für mehrere Abonnenten repliziert werden kann.. Weitere Informationen finden Sie im Abschnitt zum Festlegen von Partitionsoptionen im Thema Parametrisierte Zeilenfilter.

Nachdem Sie einen Filter hinzugefügt haben, klicken Sie auf OK, um das Dialogfeld zu schließen. Der von Ihnen angegebene Filter wird analysiert und für die Tabelle in der SELECT-Klausel ausgeführt. Wenn die Filteranweisung Syntaxfehler oder andere Probleme enthält, werden Sie benachrichtigt und können die Filteranweisung bearbeiten.

Nachdem die Anweisung analysiert ist, erstellt die Replikation die erforderlichen Verknüpfungsfilter. Wenn Sie bis jetzt für den Verleger, für den der Assistent ausgeführt wird, den Verteiler nicht konfiguriert haben, werden Sie jetzt aufgefordert, ihn zu konfigurieren.

Siehe auch

Andere Ressourcen

Vorgehensweise: Erstellen einer Publikation und Definieren von Artikeln (SQL Server Management Studio)
Vorgehensweise: Anzeigen und Ändern der Eigenschaften von Publikationen und Artikeln (SQL Server Management Studio)
Filtern von veröffentlichten Daten
Verknüpfungsfilter
Parametrisierte Zeilenfilter
Veröffentlichen von Daten und Datenbankobjekten
Replikationseigenschaften
Replikations-Assistenten

Hilfe und Informationen

Informationsquellen für SQL Server 2005