Jak Utwórz subskrypcja wciągana (Programowanie RMO)

Subskrypcje ściągać można tworzyć programowo przy użyciu RMO (replikacja Management Objects).Służy do tworzenia klas RMO a subskrypcja wciągana zależą od typu publikacja, do której należy dany subskrypcja.

Aby utworzyć subskrypcja wciągana migawka lub transakcyjnych publikacja

  1. Tworzenie połączeń do subskrybent i Wydawca przy użyciu ServerConnection Klasa.

  2. Utworzenie wystąpienie TransPublication Klasa przy użyciu połączenia Wydawca z kroku 1. Określ Name(), DatabaseName() i ConnectionContext().

  3. Wywołanie LoadProperties() Metoda. Jeśli ta metoda zwraca false, właściwości, określonego w kroku 2 są niepoprawne albo publikacja nie istnieje na serwerze.

  4. Wykonać bitowe logiczne (AND& w środowisku Visual C# i And w języku Visual Basic) między Attributes() Właściwość i AllowPull(). Jeśli wynik jest None(), zestaw Attributes() do wyniku bitowe logiczny (lub| w środowisku Visual C# i Or w języku Visual Basic) między Attributes() i AllowPull(). Następnie należy wywołać CommitPropertyChanges() Aby włączyć ściągać subskrypcji.

  5. Jeśli baza danych subskrypcja nie istnieje, utwórz go za pomocą Database Klasa. Aby uzyskać więcej informacji zobacz Tworzenie, zmienianie i usuwanie bazy danych.

  6. Utworzenie wystąpienie TransPullSubscription Klasa.

  7. zestaw następujące właściwości subskrypcja:

    • The ServerConnection to the subskrybent created in step 1 for ConnectionContext().

    • Nazwa baza danych subskrypcja dla DatabaseName().

    • Nazwa Wydawca PublisherName().

    • Nazwa publikacja bazy danych PublicationDBName().

    • Nazwę dla publikacja PublicationName().

    • The Login() and Password() or SecurePassword() fields of SynchronizationAgentProcessSecurity() to provide the poświadczenia for the Microsoft Windows account under which the Distribution Agent runs at the subskrybent. To konto jest używane do przeprowadzenia połączeń lokalnych w subskrybent i nawiązywanie połączeń zdalnych przy użyciu uwierzytelnianie systemu Windows.

      Uwaga

      Ustawienie SynchronizationAgentProcessSecurity() nie jest wymagane podczas tworzenia subskrypcja przez element członkowski członkowski sysadmin stałe roli serwera, ale jest zalecane. W takim przypadek agent będzie personifikować konto agenta programu SQL Server.Aby uzyskać więcej informacji zobacz Replication Agent Security Model.

    • (Opcjonalnie) Wartość true dla CreateSyncAgentByDefault() Aby utworzyć zadanie agenta, który jest używany do synchronizacji subskrypcja. Jeśli określisz false (ustawienie domyślne), subskrypcja mogą być synchronizowane tylko programistycznie i należy określić dodatkowe właściwości TransSynchronizationAgent Podczas uzyskiwania dostępu tego obiektu z SynchronizationAgent() Właściwość. Aby uzyskać więcej informacji zobacz Jak Synchronizowanie subskrypcja ściąganej (Programowanie RMO).

      Uwaga

      Express Microsoft SQL Server nie obsługuje programu SQL Server Agent.Po określeniu wartości true zadanie agenta nie zostanie utworzony dla Express subskrybentów. Jednak ważne metadane związane z subskrypcja są przechowywane przez subskrybent.

    • (Opcjonalne) zestaw SqlStandardLogin() i SqlStandardPassword() lub SecureSqlStandardPassword() pola DistributorSecurity() Podczas używania uwierzytelnianie programu SQL Server do łączenia się z dystrybutor.

  8. Wywołanie Create() Metoda.

  9. Przy użyciu wystąpienie TransPublication Klasa od kroku 2, wywołanie MakePullSubscriptionWellKnown(String, String, SubscriptionSyncType, TransSubscriberType) Metoda rejestracji subskrypcja wciągana z Wydawca. Jeśli istnieje już tej rejestracji, wystąpi wyjątek.

Aby utworzyć subskrypcja wciągana do publikacja seryjnej

  1. Tworzenie połączeń do subskrybent i Wydawca przy użyciu ServerConnection Klasa.

  2. Utworzenie wystąpienie MergePublication Klasa przy użyciu połączenia Wydawca z kroku 1. Określ Name(), DatabaseName(), a ConnectionContext().

  3. Wywołanie LoadProperties() Metoda. Jeśli ta metoda zwraca false, właściwości, określonego w kroku 2 są niepoprawne albo publikacja nie istnieje na serwerze.

  4. Wykonać bitowe logiczne (AND& w środowisku Visual C# i And w języku Visual Basic) między Attributes() Właściwość i AllowPull(). Jeśli wynik jest None(), zestaw Attributes() do wyniku bitowe logiczny (lub| w środowisku Visual C# i Or w języku Visual Basic) między Attributes() i AllowPull(). Następnie należy wywołać CommitPropertyChanges() Aby włączyć ściągać subskrypcji.

  5. Jeśli baza danych subskrypcja nie istnieje, utwórz go za pomocą Database Klasa. Aby uzyskać więcej informacji zobacz Tworzenie, zmienianie i usuwanie bazy danych.

  6. Utworzenie wystąpienie MergePullSubscription Klasa.

  7. zestaw następujące właściwości subskrypcja:

    • The ServerConnection to the subskrybent created in step 1 for ConnectionContext().

    • Nazwa baza danych subskrypcja dla DatabaseName().

    • Nazwa Wydawca PublisherName().

    • Nazwa publikacja bazy danych PublicationDBName().

    • Nazwę dla publikacja PublicationName().

    • The Login() and Password() or SecurePassword() fields of SynchronizationAgentProcessSecurity() to provide the poświadczenia for the Microsoft Windows account under which the Merge Agent runs at the subskrybent. To konto jest używane do przeprowadzenia połączeń lokalnych w subskrybent i nawiązywanie połączeń zdalnych przy użyciu uwierzytelnianie systemu Windows.

      Uwaga

      Ustawienie SynchronizationAgentProcessSecurity() nie jest wymagane podczas tworzenia subskrypcja przez element członkowski członkowski sysadmin stałe roli serwera, ale jest zalecane. W takim przypadek agent będzie personifikować konto agenta programu SQL Server.Aby uzyskać więcej informacji zobacz Replication Agent Security Model.

    • (Opcjonalnie) Wartość true dla CreateSyncAgentByDefault() Aby utworzyć zadanie agenta, który jest używany do synchronizacji subskrypcja. Jeśli określisz false (ustawienie domyślne), subskrypcja mogą być synchronizowane tylko programistycznie i należy określić dodatkowe właściwości MergeSynchronizationAgent Podczas uzyskiwania dostępu tego obiektu z SynchronizationAgent() Właściwość. Aby uzyskać więcej informacji zobacz Jak Synchronizowanie subskrypcja ściąganej (Programowanie RMO).

    • (Opcjonalne) zestaw SqlStandardLogin() i SqlStandardPassword() lub SecureSqlStandardPassword() pola DistributorSecurity() Podczas używania uwierzytelnianie programu SQL Server do łączenia się z dystrybutor.

    • (Opcjonalnie) Ustawianie SqlStandardLogin() i SqlStandardPassword() lub SecureSqlStandardPassword() pola PublisherSecurity() Podczas używania uwierzytelnianie programu SQL Server do łączenia się z Wydawca.

  8. Wywołanie Create() Metoda.

  9. Przy użyciu wystąpienie MergePublication Klasa od kroku 2, wywołanie MakePullSubscriptionWellKnown(String, String, SubscriptionSyncType, MergeSubscriberType, Single) Metoda rejestracji subskrypcja wciągana z Wydawca. Jeśli istnieje już tej rejestracji, wystąpi wyjątek.

Example

W tym przykładzie tworzony subskrypcja wciągana transakcyjnych publikacja.The Microsoft Windows account poświadczenia used to create the Distribution Agent zadanie are passed at runtime.

W tym przykładzie tworzony subskrypcja wciągana do publikacja korespondencji seryjnej.Poświadczenia konta systemu Windows używany do tworzenia zadanie agenta korespondencji seryjnej są przekazywane w czasie wykonywania.

W tym przykładzie tworzony subskrypcja wciągana do publikacja bez tworzenia agenta skojarzonego zadanie i subskrypcja metadane w korespondencji seryjnej MSsubscription_properties.Poświadczenia konta systemu Windows używany do tworzenia zadanie agenta korespondencji seryjnej są przekazywane w czasie wykonywania.

W tym przykładzie tworzony subskrypcja ściąganej do publikacja korespondencji seryjnej, które mogą być synchronizowane za pośrednictwem Internetu przy użyciu synchronizacja w sieci Web.Poświadczenia konta systemu Windows używany do tworzenia zadanie agenta korespondencji seryjnej są przekazywane w czasie wykonywania.Aby uzyskać więcej informacji, zobacz Jak Konfigurowanie synchronizacja w sieci Web na czas replikacja łączenia (Programowanie RMO)