Freigeben über


Vorgehensweise: Verwalten von Partitionen für eine Mergeveröffentlichung mit parametrisierten Filtern (RMO-Programmierung)

Um eine Veröffentlichung mit parametrisierten Filtern besser verwalten zu können, können Sie programmgesteuert neue Abonnentenpartitionen erstellen, die vorhandenen Abonnentenpartitionen aufzählen und Abonnentenpartitionen mithilfe von Replikationsverwaltungsobjekten (RMO) entfernen. Informationen zum Erstellen von Abonnentenpartitionen finden Sie unter Vorgehensweise: Erstellen eines Snapshots für eine Mergeveröffentlichung mit parametrisierten Filtern (RMO-Programmierung). Die folgenden Informationen zu vorhandenen Partitionen können abgerufen werden:

  • Der Wert und die Filterfunktion, auf dem bzw. der die Partition basiert.

  • Der Name des Auftrags, der einen parametrisierten Snapshot für den Abonnenten generiert.

  • Das Datum der letzten Ausführung eines Auftrags für einen parametrisierten Snapshot.

HinweisHinweis

Wenn eine Veröffentlichung parametrisierte Filter aufweist, die Abonnements mit nicht überlappenden Partitionen ergeben, und ein bestimmtes Abonnement verloren gegangen ist und neu erstellt werden muss, müssen Sie wie folgt vorgehen: Entfernen Sie die Partition, die abonniert wurde, erstellen Sie das Abonnement neu, und erstellen Sie dann die Partition neu. Weitere Informationen finden Sie unter Parametrisierte Zeilenfilter. Durch Replikation werden Erstellungsskripts für vorhandene Abonnentenpartitionen generiert, wenn ein Erstellungsskript für eine Veröffentlichung generiert wird. Weitere Informationen finden Sie unter Erstellen von Skripts für die Replikation.

So zeigen Sie Informationen zu vorhandenen Partitionen an

  1. Erstellen Sie eine Verbindung mit dem Verleger, indem Sie die ServerConnection-Klasse verwenden.

  2. Erstellen Sie eine Instanz der MergePublication-Klasse. Legen Sie die Name-Eigenschaft und die DatabaseName-Eigenschaft für die Veröffentlichung fest, und legen Sie die ConnectionContext-Eigenschaft auf die in Schritt 1 erstellte ServerConnection fest.

  3. Rufen Sie die LoadProperties-Methode auf, um die Eigenschaften des Objekts abzurufen. Wenn diese Methode false zurückgibt, sind die Veröffentlichungseigenschaften in Schritt 2 falsch definiert, oder die Veröffentlichung ist nicht vorhanden.

  4. Rufen Sie die EnumMergePartitions-Methode auf, und übergeben Sie das Ergebnis an ein Array von MergePartition-Objekten.

  5. Rufen Sie für jedes MergePartition-Objekt im Array alle gewünschten Eigenschaften ab.

So löschen Sie vorhandene Partitionen

  1. Erstellen Sie eine Verbindung mit dem Verleger, indem Sie die ServerConnection-Klasse verwenden.

  2. Erstellen Sie eine Instanz der MergePublication-Klasse. Legen Sie die Name-Eigenschaft und die DatabaseName-Eigenschaft für die Veröffentlichung fest, und legen Sie die ConnectionContext-Eigenschaft auf die in Schritt 1 erstellte ServerConnection fest.

  3. Rufen Sie die LoadProperties-Methode auf, um die Eigenschaften des Objekts abzurufen. Wenn diese Methode false zurückgibt, sind die Veröffentlichungseigenschaften in Schritt 2 falsch definiert, oder die Veröffentlichung ist nicht vorhanden.

  4. Rufen Sie die EnumMergePartitions-Methode auf, und übergeben Sie das Ergebnis an ein Array von MergePartition-Objekten.

  5. Bestimmen Sie für jedes MergePartition-Objekt im Array, ob die Partition gelöscht werden soll. Diese Entscheidung basiert normalerweise auf dem Wert der DynamicFilterLogin-Eigenschaft oder der DynamicFilterHostName-Eigenschaft.

  6. Rufen Sie die RemoveMergePartition-Methode für das MergePublication-Objekt aus Schritt 2 auf. Übergeben Sie das MergePartition-Objekt aus Schritt 5.

  7. Wiederholen Sie Schritt 6 für jede zu löschende Partition.