Automatisches Generieren einer Reihe von Joinfiltern zwischen Mergeartikeln

Gilt für:SQL Server

Automatisches Generieren einer Gruppe von Verknüpfungsfiltern auf der Seite 'Tabellenzeilen filtern' des Assistenten für neue Publikation oder der Seite 'Filterzeilen' des Dialogfelds 'Publikationseigenschaften' <> 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.

Hinweis

Wenn Sie automatisch eine Reihe von Verknüpfungsfiltern im Dialogfeld "Publikationseigenschaften – <Publikation>" generieren, nachdem Abonnements für die Publikation initialisiert wurden, müssen Sie nach der Änderung eine neue Momentaufnahme generieren und alle Abonnements erneut initialisieren. Weitere Informationen zum Ändern von Eigenschaften finden Sie unter Ändern von Veröffentlichungs- und Artikeleigenschaften.

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. Weitere Informationen zum manuellen Definieren von Joinfiltern finden Sie unter Definieren und Ändern eines Verknüpfungsfilters zwischen Mergeartikeln.

So generieren Sie automatisch eine Reihe von Joinfiltern zwischen Mergeartikeln

  1. Klicken Sie auf der Seite 'Tabellenzeilen filtern' des Assistenten 'Neue Publikation' oder der Seite 'Filterzeilen' der Publikationseigenschaften auf <>'Hinzufügen', und klicken Sie dann auf 'Filter automatisch generieren'.

    Hinweis

    Beim automatischen Generieren von Filtern werden alle vorhandenen Zeilenfilter oder Joinfilter in der Veröffentlichung gelöscht. Sie können nach dem automatischen Generieren einer Reihe von Filtern weitere Filter hinzufügen.

  2. Folgen Sie zum Erstellen eines Zeilenfilters dem Verfahren im Dialogfeld Filter generieren . Der Zeilenfilter wird dann basierend auf den aufgeführt automatisch auf die Tabellen ausgeweitet, die mit der gefilterten Tabelle verbunden sind.

    1. Wählen Sie im Dropdown-Listenfeld eine Tabelle aus, die Sie filtern möchten.

    2. Erstellen Sie im Textfeld Filteranweisung eine Filteranweisung. 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.

      Der Textbereich Filteranweisung enthält den Standardtext im folgenden Format:

      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. Die vollständige Filterklausel für einen parametrisierten Zeilenfilter würde wie folgt aussehen:

      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.

    3. Geben Sie Filteroptionen an.

      Wählen Sie die Option, die dem Verfahren entspricht, mit dem Daten an Abonnenten weitergegeben werden: Eine Zeile aus dieser Tabelle wird an mehrere Abonnements gesendet oder Eine Zeile aus dieser Tabelle wird nur an ein Abonnement gesendet. 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. Sie müssen 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 unter Parameterized Row Filters.

  3. Klickan Sie auf OK.

    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.

    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. 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.

  4. Wenn Sie sich im Dialogfeld "Publikationseigenschaften <- Publikation>" befinden, klicken Sie auf "OK", um das Dialogfeld zu speichern und zu schließen.

So ändern Sie einen automatisch generierten Filter

  1. Wählen Sie auf der Seite 'Tabellenzeilen filtern' des Assistenten 'Neue Publikation' oder der Seite 'Zeilen filtern ' der Publikationseigenschaften - <Publikation> einen Filter im Bereich 'Gefilterte Tabellen' aus, und klicken Sie dann auf ' Bearbeiten'.

  2. Ändern Sie den Filter im Dialogfeld Filter bearbeiten oder Join bearbeiten .

  3. Klickan Sie auf OK.

So löschen Sie einen automatisch generierten Filter

  1. Wählen Sie auf der Seite "Tabellenzeilen filtern" des Assistenten für neue Publikation oder auf der Seite "Zeilen filtern" der Publikationseigenschaften - <Publikation> einen Filter im Bereich "Gefilterte Tabellen" aus, und klicken Sie dann auf "Löschen".

Weitere Informationen

Verknüpfungsfilter
Parameterized Row Filters