Share via


Optimieren von parametrisierten Zeilenfiltern

In diesem Thema wird beschrieben, wie parametrisierte Zeilenfilter in SQL Server 2012 mit SQL Server Management Studio oder Transact-SQL optimiert werden.

In diesem Thema

  • Vorbereitungen:

    Empfehlungen

  • So optimieren Sie parametrisierte Zeilenfilter mit:

    SQL Server Management Studio

    Transact-SQL

Vorbereitungen

Empfehlungen

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

    Mit SQL Server Compact SQL Server Compact-Abonnenten muss "keep_partition_changes" auf "true" festgelegt werden, um sicherzustellen, dass Löschvorgänge ordnungsgemäß weitergegeben werden. Wenn die Einstellung auf "false" festgelegt ist, erhält der Abonnent möglicherweise mehr Zeilen als erwartet.

Pfeilsymbol, dass mit dem Link "Zurück zum Anfang" verwendet wird[Top]

Verwendung von SQL Server Management Studio

Folgende Einstellungen können zur Optimierung von parametrisierten Zeilenfiltern verwendet werden:

  • Partitionsoptionen
    Legen Sie diese Option auf der Seite Eigenschaften des Dialogfelds Artikeleigenschaften - <Artikel> oder über das Dialogfeld Filter hinzufügen fest. Der Zugriff auf beide Dialogfelder ist über den Assistenten für neue Veröffentlichung sowie über das Dialogfeld Veröffentlichungseigenschaften - <Veröffentlichung> verfügbar. Im Dialogfeld Artikeleigenschaften - <Artikel> können Sie weitere Werte für diese Option angeben, die im Dialogfeld Filter hinzufügen nicht verfügbar waren.

  • Partitionen im Voraus berechnen
    Diese Option ist standardmäßig auf Wahr festgelegt, wenn die Artikel in Ihrer Veröffentlichung einem Satz von Anforderungen entsprechen. Weitere Informationen zu diesen Anforderungen finden Sie unter Optimieren der Leistung parametrisierter Filter mithilfe vorausberechneter Partitionen. Diese Option können Sie auf der Seite Abonnementoptionen des Dialogfelds Veröffentlichungseigenschaften - <Veröffentlichung> ändern.

  • Synchronisierung optimieren
    Diese Option sollte nur auf Wahr festgelegt werden, wenn Partitionen im Voraus berechnen auf Falsch festgelegt ist. Diese Option können Sie auf der Seite Abonnementoptionen des Dialogfelds Veröffentlichungseigenschaften - <Veröffentlichung> festlegen.

Weitere Informationen zum Assistenten für neue Veröffentlichung sowie zum Zugriff auf das Dialogfeld Veröffentlichungseigenschaften - <Veröffentlichung> finden Sie unter Erstellen einer Veröffentlichung und Anzeigen und Ändern von Veröffentlichungseigenschaften.

So legen Sie Partitionsoptionen im Dialogfeld Filter hinzufügen bzw. Filter bearbeiten fest

  1. Klicken Sie auf der Seite Tabellenzeilen filtern im Assistenten für neue Veröffentlichung bzw. auf der Seite Zeilen filtern im Dialogfeld Veröffentlichungseigenschaften - <Veröffentlichung> zunächst auf Hinzufügen und dann auf Filter hinzufügen.

  2. Erstellen Sie einen parametrisierten Filter. Weitere Informationen finden Sie unter Definieren und Ändern eines parametrisierten Zeilenfilters für einen Mergeartikel.

  3. Wählen Sie die Option aus, die mit der Weise übereinstimmt, auf die Daten für mehrere Abonnenten freigegeben werden:

    • Eine Zeile aus dieser Tabelle wird an mehrere Abonnements gesendet

    • Eine Zeile aus dieser Tabelle wird nur an ein Abonnement gesendet

    Wenn Sie Eine Zeile aus dieser Tabelle wird nur an ein Abonnement gesendet auswä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 Parametrisierte Zeilenfilter.

  4. Klicken Sie auf OK.

  5. 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 legen Sie Partitionsoptionen im Dialogfeld Artikeleigenschaften - <Artikel> fest

  1. Wählen Sie im Assistenten für neue Veröffentlichung auf der Seite Artikel bzw. im Dialogfeld Veröffentlichungseigenschaften – <Veröffentlichung> eine Tabelle aus, und klicken Sie dann auf Artikeleigenschaften.

  2. Klicken Sie auf Eigenschaften des hervorgehobenen Tabelle-Artikels festlegen oder Eigenschaften aller Tabellenartikel festlegen.

  3. Geben Sie im Abschnitt Zielobjekt der Registerkarte Eigenschaften des Dialogfelds Artikeleigenschaften - <Artikel> einen der folgenden Werte für Partitionsoptionen an:

    • Überlappend

    • Überlappend, Datenänderungen außerhalb der Partition nicht zulassen

    • Nicht überlappend, ein Abonnement

    • Nicht überlappend, für mehrere Abonnements freigegeben

    Weitere Informationen zu diesen Optionen und dazu, in welcher Beziehung Sie zu den Optionen stehen, die im Dialogfeld Filter hinzufügen und Filter bearbeiten verfügbar sind, finden Sie im Abschnitt über das Festlegen von Partitionsoptionen unter Parametrisierte Zeilenfilter.

  4. Klicken Sie auf OK.

  5. 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 legen Sie einen Wert für Partitionen im Voraus berechnen fest

  1. Wählen Sie auf der Seite Abonnementoptionen im Dialogfeld Veröffentlichungseigenschaften - <Veröffentlichung> einen Wert für die Option Partitionen im Voraus berechnen aus. Die Eigenschaft ist in folgenden Fällen schreibgeschützt:

    • Die Veröffentlichung erfüllt die Anforderungen für im Voraus berechnete Partitionen nicht.

    • Es wurde noch keine Momentaufnahme für die Veröffentlichung generiert. In diesem Fall wird für die Option der Wert Wird automatisch beim Erstellen einer Momentaufnahme festgelegt angezeigt.

  2. Klicken Sie auf OK.

So legen Sie einen Wert für Synchronisierung optimieren fest

  1. Wählen Sie auf der Seite Abonnementoptionen im Dialogfeld Veröffentlichungseigenschaften - <Veröffentlichung> den Wert Wahr für die Option Synchronisierung optimieren aus.

  2. Klicken Sie auf OK.

Pfeilsymbol, dass mit dem Link "Zurück zum Anfang" verwendet wird[Top]

Verwendung von Transact-SQL

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 Momentaufnahme-Auftrag für die Veröffentlichung hinzu. Weitere Informationen finden Sie unter Erstellen einer Veröffentlichung.

  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 Joinfilter zwischen zwei Artikeln zu definieren. Weitere Informationen finden Sie unter Definieren und Ändern eines Verknüpfungsfilters zwischen Mergeartikeln.

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 Momentaufnahme-Agent, um, wenn notwendig, die Momentaufnahme erneut zu generieren. Informationen dazu, welche Änderungen die Generierung einer neuen Momentaufnahme erforderlich machen, finden Sie unter Ändern von Veröffentlichungs- und Artikeleigenschaften.

Pfeilsymbol, dass mit dem Link "Zurück zum Anfang" verwendet wird[Top]

Siehe auch

Aufgaben

Automatisches Generieren einer Reihe von Joinfiltern zwischen Mergeartikeln (SQL Server Management Studio)

Konzepte

Definieren und Ändern eines parametrisierten Zeilenfilters für einen Mergeartikel

Optimieren von parametrisierten Zeilenfiltern

Parametrisierte Zeilenfilter