Udostępnij za pośrednictwem


Jak Synchronizowanie wypychanie subskrypcja (Programowanie RMO)

Można synchronizować wypychanie subskrypcji programowo przez przy użyciu kod zarządzany dostęp do funkcji agenta replikacja i RMO (replikacja Management Objects).Klasy, które służy do synchronizowania subskrypcja wypychana zależą od typu publikacja, do której należy dany subskrypcji.

Uwaga

Jeśli użytkownik chce uruchomić synchronizację, która jest uruchamiana autonomicznie bez wpływu na aplikację, uruchom agenta asynchronicznie.Jednak chcąc monitorować wyniki synchronizacji i odbieranie wywołań zwrotnych od agentów podczas procesu synchronizacji (na przykład, jeśli ma być wyświetlany pasek postępu), należy synchronicznie uruchomić agenta.For Microsoft SQL Server 2005 Express Edition Subscribers, you must start the agent synchronously.

Aby zsynchronizować subskrypcja wypychana migawka lub transakcyjnych publikacja

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

  2. Utworzenie wystąpienie TransSubscription Klasa i zestaw następujące właściwości:

    • Nazwa bazy danych publikacja DatabaseName().

    • Nazwę publikacja, do której należy dany subskrypcja dla PublicationName().

    • Nazwa baza danych subskrypcja dla SubscriptionDBName().

    • Nazwa dla subskrybent SubscriberName().

    • Utworzony w kroku 1 dla połączenia ConnectionContext().

  3. Wywołanie LoadProperties() Metoda uzyskanie pozostałych właściwości subskrypcja. Jeśli ta metoda zwraca false, sprawdź, czy istnieje subskrypcja.

  4. Uruchom agenta dystrybucji na dystrybutor w jednym z następujących sposobów:

    • Wywołanie SynchronizeWithJob() metoda w wystąpieniu TransSubscription w kroku 2. Ta metoda jest uruchamiany asynchronicznie Agent dystrybucji, a formant natychmiast zwraca do aplikacji, podczas uruchamiania zadanie agenta.Nie można wywołać tej metoda, jeśli subskrypcja została utworzona za pomocą wartości false dla CreateSyncAgentByDefault().

    • Uzyskaj wystąpienie TransSynchronizationAgent klasy z SynchronizationAgent() Właściwość, a wywołanie Synchronize() Metoda. Metoda ta jest uruchamiana synchronicznie agenta i formant pozostanie w przypadku uruchomionego zadanie agenta.Podczas wykonywania synchronicznych można obsługiwać Status() zdarzenie agenta jest uruchomiona.

Aby zsynchronizować subskrypcja wypychana do publikacja seryjnej

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

  2. Utworzenie wystąpienie MergeSubscription klasy, a zestaw następujące właściwości:

    • Nazwa bazy danych publikacja DatabaseName().

    • Nazwę publikacja, do której należy dany subskrypcja dla PublicationName().

    • Nazwa baza danych subskrypcja dla SubscriptionDBName().

    • Nazwa dla subskrybent SubscriberName().

    • Utworzony w kroku 1 dla połączenia ConnectionContext().

  3. Wywołanie LoadProperties() Metoda uzyskanie pozostałych właściwości subskrypcja. Jeśli ta metoda zwraca false, sprawdź, czy istnieje subskrypcja.

  4. Uruchom agenta korespondencji seryjnej na dystrybutor w jednym z następujących sposobów:

    • Wywołanie SynchronizeWithJob() metoda w wystąpieniu MergeSubscription w kroku 2. Ta metoda jest uruchamiany asynchronicznie Agent korespondencji seryjnej, a formant natychmiast zwraca do aplikacji, podczas uruchamiania zadanie agenta.Nie można wywołać tej metoda, jeśli subskrypcja została utworzona za pomocą wartości false dla CreateSyncAgentByDefault().

    • Uzyskaj wystąpienie MergeSynchronizationAgent klasy z SynchronizationAgent() Właściwość, a wywołanie Synchronize() Metoda. Metoda ta jest uruchamiana synchronicznie Agent korespondencji seryjnej i formant pozostanie w przypadku uruchomionego zadanie agenta.Podczas wykonywania synchronicznych, można obsługiwać Status() zdarzenie agenta jest uruchomiona.

Example

W tym przykładzie synchronizuje subskrypcja wypychana w transakcyjnych publikacja, w przypadku, gdy agent jest uruchamiany asynchronicznie za pomocą zadanie agenta.

W tym przykładzie synchronizuje subskrypcja wypychana w transakcyjnych publikacja, w którym agent jest uruchomiony synchronicznie.

W tym przykładzie synchronizuje subskrypcja wypychana do scalania publikacja, w którym agent jest uruchamiany asynchronicznie za pomocą zadanie agenta.

W tym przykładzie synchronizuje subskrypcja wypychana do publikacja korespondencji seryjnej, w którym agent jest uruchomiony synchronicznie.