Automatisches Generieren einer Reihe von Joinfiltern zwischen MergeartikelnAutomatically Generate Join Filters Between Merge Articles

Anwendungsbereich:Applies to: JaSQL ServerSQL Server (alle unterstützten Versionen) yesSQL ServerSQL Server (all supported versions) Anwendungsbereich:Applies to: JaSQL ServerSQL Server (alle unterstützten Versionen) yesSQL ServerSQL Server (all supported versions)

Mithilfe des Assistenten für neue Veröffentlichung auf der Seite Tabellenzeilen filtern oder des Dialogfelds Veröffentlichungseigenschaften - <Publication> auf der Seite Zeilen filtern können Sie eine Reihe von Joinfiltern automatisch generieren.Automatically generate a set of join filters on the Filter Table Rows page of the New Publication Wizard or the Filter Rows page of the Publication Properties - <Publication> dialog box. Weitere Informationen zum Verwenden des Assistenten sowie Zugriff auf das Dialogfeld finden Sie unter Erstellen einer Veröffentlichung und Anzeigen und Ändern von Veröffentlichungseigenschaften.For more information about using the wizard and accessing the dialog box, see Create a Publication and View and Modify Publication Properties.

Hinweis

Wenn Sie nach dem Initialisieren von Abonnements für die Veröffentlichung automatisch eine Reihe von Joinfiltern im Dialogfeld Veröffentlichungseigenschaften - <Publication> generieren, müssen Sie eine neue Momentaufnahme generieren und nach der Änderung alle Abonnements erneut initialisieren.If you automatically generate a set of join filters in the Publication Properties - <Publication> dialog box after subscriptions to the publication have been initialized, you must generate a new snapshot and reinitialize all subscriptions after making the change. Weitere Informationen zum Ändern von Eigenschaften finden Sie unter Ändern von Veröffentlichungs- und Artikeleigenschaften.For more information about requirements for property changes, see Change Publication and Article Properties.

Joinfilter können manuell für eine Gruppe von Tabellen erstellt werden. Die Filter können auch automatisch durch die Replikation anhand der Primärschlüssel/Fremdschlüssel-Beziehungen generiert werden, die für die Tabellen definiert sind.Join filters can be created manually for a set of tables, or replication can generate the filters automatically based on the foreign key to primary key relationships defined on the tables. Weitere Informationen zum manuellen Definieren von Joinfiltern finden Sie unter Definieren und Ändern eines Verknüpfungsfilters zwischen Mergeartikeln.For more information about creating join filters manually, see Define and Modify a Join Filter Between Merge Articles.

So generieren Sie automatisch eine Reihe von Joinfiltern zwischen MergeartikelnTo automatically generate a set of join filters between merge articles

  1. Klicken Sie im Assistenten für neue Veröffentlichung auf der Seite Tabellenzeilen filtern oder im Dialogfeld Veröffentlichungseigenschaften - <Publication> auf der Seite Zeilen filtern auf Hinzufügen, und klicken Sie dann auf Filter automatisch generieren.On the Filter Table Rows page of the New Publication Wizard or the Filter Rows page of the Publication Properties - <Publication>, click Add, and then click Automatically Generate Filters.

    Hinweis

    Beim automatischen Generieren von Filtern werden alle vorhandenen Zeilenfilter oder Joinfilter in der Veröffentlichung gelöscht.Automatically generating filters deletes any existing row filters or join filters in the publication. Sie können nach dem automatischen Generieren einer Reihe von Filtern weitere Filter hinzufügen.You can add filters after automatically generating a set of filters.

  2. Folgen Sie zum Erstellen eines Zeilenfilters dem Verfahren im Dialogfeld Filter generieren .Follow the process in the Generate Filters dialog box to create a row filter. Der Zeilenfilter wird dann basierend auf den aufgeführt automatisch auf die Tabellen ausgeweitet, die mit der gefilterten Tabelle verbunden sind.The row filter is then extended to the tables related to the filtered table through primary key and foreign key relationships.

    1. Wählen Sie im Dropdown-Listenfeld eine Tabelle aus, die Sie filtern möchten.Select a table to filter from the drop-down list box.

    2. Erstellen Sie im Textfeld Filteranweisung eine Filteranweisung.Create a filter statement in the Filter statement text box. Sie können den Text direkt in den Textbereich eingeben, und Sie können Spalten auch mit Drag und Drop aus dem Listenfeld Spalten einfügen.You can type directly in the text area, and you can also drag and drop columns from the Columns list box.

      Der Textbereich Filteranweisung enthält den Standardtext im folgenden Format:The Filter statement text area includes the default text, which is in the form of:

      SELECT <published_columns> FROM [tableowner].[tablename] WHERE  
      

      Der Standardtext kann nicht geändert werden. Geben Sie die Filterklausel für einen statischen Zeilenfilter oder einen parametrisierten Zeilenfilter nach dem WHERE-Schlüsselwort mithilfe der standardmäßigen SQL-Syntax ein.The default text cannot be changed; type the filter clause for a static row filter or a parameterized row filter after the WHERE keyword using standard SQL syntax. Die vollständige Filterklausel für einen parametrisierten Zeilenfilter würde wie folgt aussehen:The complete filter clause for a parameterized row filter would look like:

      SELECT <published_columns> FROM [HumanResources].[Employee] WHERE LoginID = SUSER_SNAME()  
      

      Verwenden Sie einen zweiteiligen Namen für die WHERE-Klausel, drei- oder vierteilige Namen werden nicht unterstützt.The WHERE clause should use two-part naming; three-part naming and four-part naming are not supported.

    3. Geben Sie Filteroptionen an.Specify filter options.

      Wählen Sie die Option aus, mit der angegeben wird, wie Daten für mehrere Abonnenten freigegeben werden: Eine Zeile aus dieser Tabelle wird an mehrere Abonnements gesendet oder Eine Zeile aus dieser Tabelle wird nur an ein Abonnement gesendet.Select the option that matches how data will be shared among Subscribers: A row from this table will go to multiple subscriptions or A row from this table will go to only one subscription. Wenn Sie Eine Zeile aus dieser Tabelle wird nur an ein Abonnement gesendetauswählen, kann die Mergereplikation die Leistung optimieren, da weniger Metadaten gespeichert und verarbeitet werden.If you select A row from this table will go to only one subscription, merge replication can optimize performance by storing and processing less metadata. Sie müssen jedoch sicherstellen, dass die Daten so partitioniert werden, dass eine Zeile nicht für mehrere Abonnenten repliziert werden kann.However, you must ensure that the data is partitioned in such a way that a row cannot be replicated to more than one Subscriber. Weitere Informationen finden Sie im Abschnitt zum Festlegen von Partitionsoptionen unter Parameterized Row Filters.For more information, see the section "Setting 'partition options'" in the topic Parameterized Row Filters.

  3. Klicken Sie auf OK.Click OK.

    Der von Ihnen angegebene Filter wird analysiert und für die Tabelle in der SELECT-Klausel ausgeführt.The filter you specified is parsed and run against the table in the SELECT clause. Wenn die Filteranweisung Syntaxfehler oder andere Probleme enthält, werden Sie benachrichtigt und können die Filteranweisung bearbeiten.If the filter statement contains syntax errors or other problems, you will be notified and will be able to edit the filter statement.

    Nach der Analyse der Anweisung erstellt die Replikation die nötigen Joinfilter und zeigt sie auf der Seite Tabellenzeilen filtern oder der Seite Zeilen filtern im Bereich Gefilterte Tabellen an.After the statement is parsed, replication creates the necessary join filters and displays them in the Filtered Tables pane on the Filter Table Rows or Filter Rows page. Wenn Sie Filter im Assistenten für neue Veröffentlichung generieren und noch nicht den Verteiler für den Verleger konfiguriert haben, für den dieser Assistent ausgeführt wird, werden Sie zum Konfigurieren des Verteilers aufgefordert.If you are generating filters from the New Publication Wizard and have not yet configured the Distributor for the Publisher against which this wizard is running, you are prompted to configure it.

  4. Wenn Sie sich im Dialogfeld Veröffentlichungseigenschaften - <Publication> befinden, klicken Sie auf OK, um die Einstellungen zu speichern und das Dialogfeld zu schließen.If you are in the Publication Properties - <Publication> dialog box, click OK to save and close the dialog box.

So ändern Sie einen automatisch generierten FilterTo modify a filter that was automatically generated

  1. Wählen Sie auf der Seite Tabellenzeilen filtern des Assistenten für neue Veröffentlichung oder auf der Seite Filterzeilen von Veröffentlichungseigenschaften - <Publication> einen Filter im Bereich gefilterte Tabellen, und klicken Sie dann auf Bearbeiten.On the Filter Table Rows page of the New Publication Wizard or the Filter Rows page of the Publication Properties - <Publication>, select a filter in the Filtered Tables pane, and then click Edit.

  2. Ändern Sie den Filter im Dialogfeld Filter bearbeiten oder Join bearbeiten .In the Edit Filter or Edit Join dialog box, modify the filter.

  3. Klicken Sie auf OK.Click OK.

So löschen Sie einen automatisch generierten FilterTo delete a filter that was automatically generated

  1. Wählen Sie auf der Seite Tabellenzeilen filtern des Assistenten für neue Veröffentlichung oder der Seite Filterzeilen von Veröffentlichungseigenschaften - <Publication> einen Filter im Bereich gefilterte Tabellen, und klicken Sie dann auf Löschen.On the Filter Table Rows page of the New Publication Wizard or the Filter Rows page of the Publication Properties - <Publication>, select a filter in the Filtered Tables pane, and then click Delete.

Weitere InformationenSee Also

Join Filters Join Filters
Parametrisierte ZeilenfilterParameterized Row Filters