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 Veröffentlichung bzw. die Seite Zeilen filtern des Dialogfelds Veröffentlichungseigenschaften – <Veröffentlichung> zur Verfügung. Weitere Informationen zum Verwenden des Assistenten sowie zum Zugriff auf das Dialogfeld finden Sie unter Vorgehensweise: Erstellen einer Veröffentlichung und Definieren von Artikeln (SQL Server Management Studio) und Vorgehensweise: Anzeigen und Ändern der Eigenschaften von Veröffentlichungen und Artikeln (SQL Server Management Studio).
Hinweis |
---|
Wenn Sie im Dialogfeld Veröffentlichungseigenschaften – <Veröffentlichung> einen Verknüpfungsfilter hinzufügen, ändern oder löschen, nachdem Abonnements für die Veröffentlichung 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 Veröffentlichungs- 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
Wählen Sie im Assistenten für neue Veröffentlichung auf der Seite Tabellenzeilen filtern oder im Dialogfeld Veröffentlichungseigenschaften – <Veröffentlichung< auf der Seite Zeilen filtern im Bereich Gefilterte Tabellen einen der dort aufgeführten Zeilenfilter aus.
Hinweis Um einen Verknüpfungsfilter zu erstellen, muss eine Veröffentlichung mindestens zwei verknüpfte Tabellen enthalten. Verknüpfungsfilter stellen eine Erweiterung von Zeilenfiltern dar. Daher müssen Sie einen Zeilenfilter für eine Tabelle definieren, bevor Sie den Filter um eine Verknüpfung mit einer anderen Tabelle erweitern können. Nach dem Definieren eines Verknüpfungsfilters können Sie diesen Verknüpfungsfilter wiederum um einen anderen Verknüpfungsfilter erweitern, wenn die Veröffentlichung weitere verknüpfte Tabellen enthält.
Klicken Sie auf Hinzufügen und anschließend auf Verknüpfung hinzufügen, um den ausgewählten Filter zu erweitern.
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.
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.
Vorsicht 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 MicrosoftSQL Server 2005 und späteren Versionen verfügbar). Diese Option ist nur verfügbar, wenn die Artikel- und Veröffentlichungsanforderungen 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.
Klicken Sie auf OK.
Wenn Sie sich im Dialogfeld Veröffentlichungseigenschaften – <Veröffentlichung> befinden, klicken Sie auf OK, um die Einstellungen zu speichern und das Dialogfeld zu schließen.
So ändern Sie einen Verknüpfungsfilter
Wählen Sie im Assistenten für neue Veröffentlichung auf der Seite Tabellenzeilen filtern oder im Dialogfeld Veröffentlichungseigenschaften – <Veröffentlichung< auf der Seite Zeilen filtern im Bereich Gefilterte Tabellen einen Filter aus, und klicken Sie dann auf Bearbeiten.
Ändern Sie den Filter im Dialogfeld Verknüpfung bearbeiten.
Klicken Sie auf OK.
So löschen Sie einen Verknüpfungsfilter
- Wählen Sie im Assistenten für neue Veröffentlichung auf der Seite Tabellenzeilen filtern oder im Dialogfeld Veröffentlichungseigenschaften – <Veröffentlichung< 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