Freigeben über


Vorgehensweise: Definieren und Ändern eines Verknüpfungsfilters zwischen Mergeartikeln (SQL Server Management Studio)

Zum Definieren, Ändern oder Löschen von Verknüpfungsfiltern steht Ihnen die Seite Tabellenzeilen filtern des Assistenten für neue Publikation bzw. die Seite Zeilen filtern des Dialogfeldes Publikationseigenschaften – <Publication> zur Verfügung. Weitere Informationen zum Verwenden des Assistenten sowie zum Zugriff 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).

ms152744.note(de-de,SQL.90).gifHinweis:
Wenn Sie im Dialogfeld Publikationseigenschaften – <Publication> einen Verknüpfungsfilter hinzufügen, ändern oder löschen, nachdem Abonnements für die Publikation initialisiert wurden, müssen Sie einen neuen Snapshot generieren und alle Abonnements nach vorgenommener Änderung erneut initialisieren. Weitere Informationen zu den Anforderungen für Eigenschaftenänderungen finden Sie unter Ändern von Publikations- und Artikeleigenschaften.

Verknüpfungsfilter für Tabellen können sowohl manuell als auch automatisch per Replikation erstellt werden. Die automatische Erstellung erfolgt auf der Basis der für die Tabellen definierten Beziehungen zwischen Fremdschlüsseln und Primärschlüsseln. Weitere Informationen zum automatischen Generieren von Verknüpfungsfiltern finden Sie unter Vorgehensweise: Automatisches Generieren einer Reihe von Verknüpfungsfiltern zwischen Mergeartikeln (SQL Server Management Studio).

So definieren Sie einen Verknüpfungsfilter

  1. 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 der dort aufgeführten Zeilenfilter aus.

    Verknüpfungsfilter sind eine Erweiterung von Zeilenfiltern. Daher müssen Sie einen Zeilenfilter definieren, bevor Sie den Filter um eine Verknüpfung erweitern können. Nach dem Definieren eines Verknüpfungsfilters können Sie diesen Verknüpfungsfilter wiederum um einen anderen Verknüpfungsfilter erweitern.

  2. Klicken Sie auf Hinzufügen und anschließend auf Verknüpfung hinzufügen, um den ausgewählten Filter zu erweitern.

  3. Erstellen Sie die Verknüpfungsanweisung: Aktivieren Sie dazu entweder Anweisung mit dem Generator erstellen oder Verknüpfungsanweisung manuell schreiben.

    • Wenn Sie sich für die Verwendung des Generators entscheiden, erstellen Sie mithilfe der Spalten in der Tabelle (Konjunktion, Gefilterte Tabellenspalte, Operator und Verknüpfte Tabellenspalte) eine Verknüpfungsanweisung.
      Die Spalten in der Tabelle enthalten jeweils ein Dropdown-Kombinationsfeld, in dem Sie zwei Spalten und einen Operator (=, <>, <=, <, >=, > und like) auswählen können. Die Ergebnisse werden im Textbereich Vorschau angezeigt. Wenn sich die Verknüpfung auf mehr als ein Spaltenpaar bezieht, wählen Sie in der Konjunktion-Spalte eine Konjunktion aus (AND oder OR), und geben Sie dann zwei weitere Spalten und einen Operator ein.

    • Wenn Sie sich für das manuelle Schreiben der Anweisung entscheiden, schreiben Sie die Verknüpfungsanweisung in den Textbereich Verknüpfungsanweisung. Ziehen Sie die gewünschten Spalten aus den Listenfeldern Spalten der gefilterten Tabelle und Spalten der verknüpften Tabelle in den Textbereich Verknüpfungsanweisung.

    • Die vollständige Verknüpfungsanweisung würde wie folgt aussehen:

      SELECT <published_columns> FROM [Sales].[SalesOrderHeader] INNER JOIN [Sales].[SalesOrderDetail] ON [SalesOrderHeader].[SalesOrderID] = [SalesOrderDetail].[SalesOrderID]
      

      Die JOIN-Klausel muss zweiteilige Benennungen verwenden. Drei- und vierteilige Benennungen werden nicht unterstützt.

  4. Geben Sie die Verknüpfungsoptionen an:

    • Falls die Spalte, zu der eine Verknüpfung in der gefilterten Tabelle (übergeordnete Tabelle) erstellt wird, eindeutig ist, aktivieren Sie die Option Unique key.
      ms152744.Caution(de-de,SQL.90).gifVorsicht:
      Durch Auswählen dieser Option geben Sie an, dass die Beziehung zwischen der untergeordneten und der übergeordneten Tabelle in einem Verknüpfungsfilter 1:1 oder 1:n ist. Verwenden Sie diese Option nur, wenn für die verknüpfte Spalte in der untergeordneten Tabelle eine Einschränkung vorhanden ist, die die Eindeutigkeit sicherstellt. Wenn die Option nicht richtig angewendet wird, kann es zu einer Nichtkonvergenz der Daten kommen.
    • Standardmäßig verarbeitet die Mergereplikation bei der Synchronisierung Änderungen auf Zeilenbasis. Wenn Änderungen in Zeilen sowohl in der gefilterten Tabelle als auch in der verknüpften Tabelle als eine Einheit verarbeitet werden sollen, aktivieren Sie die Option Logischer Datensatz (nur in Microsoft SQL Server 2005 und späteren Versionen verfügbar). Diese Option ist nur verfügbar, wenn die Artikel- und Publikationsanforderungen für die Verwendung logischer Datensätze erfüllt sind. Weitere Informationen finden Sie im Abschnitt zu den Überlegungen bei der Verwendung logischer Datensätze im Thema Gruppieren von Änderungen an verknüpften Zeilen mithilfe von logischen Datensätzen.
  5. Klicken Sie auf OK.

  6. Wenn Sie sich im Dialogfeld Publikationseigenschaften – <Publication> befinden, klicken Sie auf OK, um die Einstellungen zu speichern und das Dialogfeld zu schließen.

So ändern Sie einen Verknüpfungsfilter

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

  2. Ändern Sie den Filter im Dialogfeld Verknüpfung bearbeiten.

  3. Klicken Sie auf OK.

So löschen Sie einen Verknüpfungsfilter

  1. 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. Wenn der Verknüpfungsfilter, den Sie löschen möchten, mit anderen Verknüpfungen erweitert ist, werden diese Verknüpfungen beim Löschen des Filters selbst ebenfalls gelöscht.

Siehe auch

Aufgaben

Vorgehensweise: Definieren einer logischen Datensatzbeziehung zwischen Mergetabellenartikeln (SQL Server Management Studio)
Vorgehensweise: Definieren und Ändern eines parametrisierten Zeilenfilters für einen Mergeartikel (SQL Server Management Studio)
Vorgehensweise: Definieren und Ändern eines statischen Zeilenfilters (SQL Server Management Studio)
Vorgehensweise: Erneutes Initialisieren eines Abonnements (SQL Server Management Studio)

Konzepte

Verknüpfungsfilter
Parametrisierte Zeilenfilter

Andere Ressourcen

How to: Define and Modify a Join Filter Between Merge Articles (Replication Transact-SQL Programming)

Hilfe und Informationen

Informationsquellen für SQL Server 2005