Udostępnij za pośrednictwem


How to: Manage Partitions for a Merge Publication with Parameterized Filters (RMO Programming)

Lepsze zarządzanie publikacja z parametrami filtry, można programowo utworzyć nowe partycje subskrybent, wyliczyć istniejących partycji subskrybent i usuwanie subskrybent partycji przy użyciu RMO (replikacja Management Objects).Aby uzyskać informacje na temat tworzenia partycji subskrybent, zobacz temat Jak Utworzyć migawkę dla publikacja korespondencji seryjnej z filtrami sparametryzowana (Programowanie RMO). Można uzyskać następujące informacje na temat istniejących partycji:

  • Wartość i filtrowania funkcja, na których opiera się na partycji.

  • Nazwa zadanie, które generuje migawka parametryczne dla subskrybent.

  • Czas ostatniego uruchomienia zadanie sparametryzowana migawka.

Uwaga

Gdy publikacja została sparametryzowana filtrów, które dają subskrypcja nonoverlapping partycji i określonej subskrypcja zostaną utracone i musi być ponownie utworzony, należy wykonać następujące czynności: usuwania partycji, która została subskrybujesz, ponownie utworzyć subskrypcja, a następnie utwórz partycję. Aby uzyskać więcej informacji zobacz Sparametryzowana filtry wierszy. Replikacja generuje skrypty tworzenia do istniejących partycji subskrybent, gdy zostanie wygenerowany skrypt tworzenia publikacja.Aby uzyskać więcej informacji zobacz Replikacja wykonywanie wykonywanie skryptów.

Aby wyświetlić informacje o istniejących partycji

  1. Utwórz połączenie Wydawca przy użyciu ServerConnection Klasa.

  2. Utworzenie wystąpienie MergePublication Klasa. Ustawianie Name() i DatabaseName() właściwości publikacja i zestaw ConnectionContext() Właściwość ServerConnection utworzony w kroku 1.

  3. Wywołanie LoadProperties() Metoda uzyskać właściwości obiektu. Jeśli ta metoda zwraca false, albo właściwości publikacja w kroku 2 zostały niepoprawnie określone publikacja nie istnieje lub nie.

  4. Wywołanie EnumMergePartitions() metoda i przekazać wynik do tablicy MergePartition obiekty.

  5. Dla każdego MergePartition obiekt w tablicy, Uzyskaj właściwości odsetek.

Aby usunąć istniejące partycje

  1. Utwórz połączenie Wydawca przy użyciu ServerConnection Klasa.

  2. Utworzenie wystąpienie MergePublication Klasa. Ustawianie Name() i DatabaseName() właściwości publikacja i zestaw ConnectionContext() Właściwość ServerConnection utworzony w kroku 1.

  3. Wywołanie LoadProperties() Metoda uzyskać właściwości obiektu. Jeśli ta metoda zwraca false, albo właściwości publikacja w kroku 2 zostały niepoprawnie określone publikacja nie istnieje lub nie.

  4. Wywołanie EnumMergePartitions() metoda i przekazać wynik do tablicy MergePartition obiekty.

  5. Dla każdego MergePartition Sprawdź, czy partycja powinny zostać usunięte, obiektu w tablicy. Decyzja ta zależy zwykle wartość DynamicFilterLogin() Właściwość lub DynamicFilterHostName() Właściwość.

  6. Wywołanie RemoveMergePartition(MergePartition) Metoda MergePublication obiekt w kroku 2. Przekazywanie MergePartition obiekt z kroku 5.

  7. Powtórz krok 6 dla każdej partycji, która jest usuwana.