Vorgehensweise: Optimieren parametrisierter Zeilenfilter (Replikationsprogrammierung mit Transact-SQL)

Wenn Sie parametrisierte Filter verwenden, können Sie festlegen, wie die Filter durch die Mergereplikation verarbeitet werden, indem Sie bei der Erstellung der Veröffentlichung entweder die Option use partition groups oder die Option keep partition changes wählen. Diese Optionen verbessern bei Veröffentlichungen mit gefilterten Artikeln die Synchronisierungsleistung, da in der Veröffentlichungsdatenbank zusätzliche Metadaten gespeichert werden. Sie können steuern, wie die Daten auf die einzelnen Abonnenten aufgeteilt werden, indem Sie bei der Erstellung eines Artikels partition options festlegen.

Weitere Informationen zu diesen Anforderungen finden Sie unter Parametrisierte Zeilenfilter. Informationen zur Definition der Filteroptionen für @keep_partition_changes und @use_partition_groups finden Sie unter sp_addmergepublication.

So geben Sie die Optimierungen für Mergefilter beim Erstellen einer neuen Veröffentlichung an

  1. Führen Sie auf dem Verleger für die Veröffentlichungsdatenbank sp_addmergepublication aus. Geben Sie @publication und den Wert true für einen der folgenden Parameter an:

  2. Fügen Sie einen Snapshot-Auftrag für die Veröffentlichung hinzu. Weitere Informationen finden Sie unter Vorgehensweise: Erstellen einer Veröffentlichung (Replikationsprogrammierung mit Transact-SQL).

  3. Führen Sie auf dem Verleger für die Veröffentlichungsdatenbank sp_addmergearticle aus, und geben Sie die folgenden Parameter an:

    • @publication – der Name der Veröffentlichung aus Schritt 1.

    • @article – ein Name für den Artikel.

    • @source_object – das Datenbankobjekt, das veröffentlicht wird.

    • @subset_filterclause – die optionale parametrisierte Filterklausel, die verwendet wird, um den Artikel horizontal zu filtern.

    • @partition_options – die Partitionsoptionen für den gefilterten Artikel.

  4. Wiederholen Sie Schritt 3 für jeden Artikel in der Veröffentlichung.

  5. (Optional) Führen Sie auf dem Verleger für die Veröffentlichungsdatenbank sp_addmergefilter aus, um einen Verknüpfungsfilter zwischen zwei Artikeln zu definieren. Weitere Informationen finden Sie unter Vorgehensweise: Definieren und Ändern eines Joinfilters zwischen Mergeartikeln (Replikationsprogrammierung mit Transact-SQL).

So zeigen Sie das Verhalten von Mergefiltern für eine vorhandene Veröffentlichung an und ändern es

  1. (Optional) Führen Sie auf dem Verleger für die Veröffentlichungsdatenbank sp_helpmergepublication unter Angabe von @publication aus. Achten Sie auf den Wert von keep_partition_changes und use_partition_groups im Resultset.

  2. (Optional) Führen Sie auf dem Verleger für die Veröffentlichungsdatenbank sp_changemergepublication aus. Geben Sie den Wert use_partition_groups für @property und entweder den Wert true oder false für @value an.

  3. (Optional) Führen Sie auf dem Verleger für die Veröffentlichungsdatenbank sp_changemergepublication aus. Geben Sie den Wert keep_partition_changes für @property und entweder den Wert true oder false für @value an.

    HinweisHinweis

    Wenn Sie keep_partition_changes aktivieren, müssen Sie zuerst use_partition_groups deaktivieren und den Wert 1 für @force_reinit_subscription angeben.

  4. (Optional) Führen Sie auf dem Verleger für die Veröffentlichungsdatenbank sp_changemergearticle aus. Geben Sie den Wert partition_options für @property und den entsprechenden Wert für @value an. Informationen zur Definition dieser Filteroptionen finden Sie unter sp_addmergearticle.

  5. (Optional) Starten Sie den Snapshot-Agent, um, wenn notwendig, den Snapshot erneut zu generieren. Informationen dazu, welche Änderungen die Generierung eines neuen Snapshots erforderlich machen, finden Sie unter Ändern von Veröffentlichungs- und Artikeleigenschaften.