Udostępnij za pośrednictwem


Jak Synchronizowanie subskrypcja ściąganej (Programowanie RMO)

Można synchronizować ściągać subskrypcji programowo przez przy użyciu kod zarządzany dostęp do funkcji agenta replikacja i RMO (replikacja Management Objects).Służy do synchronizowania klasy subskrypcja wciągana zależą od typu publikacja, do której należy dany subskrypcja.

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, aby wyświetlić 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 ściąganej migawka lub transakcyjnych publikacja

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

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

    • Nazwa baza danych subskrypcja DatabaseName().

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

    • Nazwa publikacja bazy danych PublicationDBName().

    • Nazwa Wydawca PublisherName().

    • 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 subskrybent w jednym z następujących sposobów:

    • Wywołanie SynchronizeWithJob() metoda w wystąpieniu TransPullSubscription 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ć tę metoda SQL Server 2005 Express Edition Subskrybenci lub jeśli subskrypcja została utworzona z wartością false dla CreateSyncAgentByDefault() (ustawienie domyślne).

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

      Uwaga

      Jeżeli określono wartość false dla CreateSyncAgentByDefault() (ustawienie domyślne) podczas tworzenia subskrypcja wciągana, należy również określić Distributor(), DistributorSecurityMode(), a opcjonalnie DistributorLogin() i DistributorPassword() ponieważ powiązane zadanie agenta nie jest dostępny metadane dla subskrypcja MSsubscription_properties.

Aby zsynchronizować subskrypcja wciągana do publikacja seryjnej

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

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

    • Nazwa baza danych subskrypcja DatabaseName().

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

    • Nazwa bazy danych opublikowanej w celu PublicationDBName().

    • Nazwa Wydawca PublisherName().

    • 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 Scal subskrybent w jednym z następujących sposobów:

    • Wywołanie SynchronizeWithJob() metoda w wystąpieniu MergePullSubscription 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ć tę metoda SQL Server 2005 Express Edition Subskrybenci lub jeśli subskrypcja została utworzona z wartością false dla CreateSyncAgentByDefault() (ustawienie domyślne).

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

      Uwaga

      Jeżeli określono wartość false dla CreateSyncAgentByDefault() (ustawienie domyślne) podczas tworzenia subskrypcja wciągana, należy również określić Distributor(), DistributorSecurityMode(), PublisherSecurityMode(), HostName(), SubscriptionType(), ExchangeType(), a opcjonalnie DistributorLogin(), DistributorPassword(), PublisherLogin(), a PublisherPassword() ponieważ powiązane zadanie agenta nie jest dostępny metadane dla subskrypcja MSsubscription_properties.

Example

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

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

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

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

W tym przykładzie synchronizuje subskrypcja wciągana do publikacja korespondencji seryjnej przy użyciu synchronizacja w sieci Web.Subskrypcja został utworzony bez zadanie agenta i metadane subskrypcji powiązanych agent musi zostać uruchomione synchronicznie i informacje dodatkowe subskrypcji zostaną dostarczone.