Udostępnij za pośrednictwem


Jak Tworzenie publikacja (Programowanie RMO)

Można tworzyć publikacje programowo przy użyciu RMO (replikacja Management Objects).Klasy RMO, które służy do tworzenia publikacja zależą od typu publikacja, należy utworzyć.

Security noteSecurity Note:

Jeśli jest to możliwe, monituje użytkowników o wprowadzenie poświadczenia zabezpieczeń w czasie wykonywania.Jeśli poświadczenia muszą być przechowywane, należy użyć Usługi kryptograficzne dostarczone przez Microsoft System Windows .NET framework.

Aby utworzyć migawkę lub transakcyjnych publikacja

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

  2. Utworzenie wystąpienie ReplicationDatabase Klasa dla baza danych publikacja, ustaw ConnectionContext() Właściwość do wystąpienie ServerConnection z kroku 1 oraz wywołanie LoadProperties() Metoda. Jeśli LoadProperties() Zwraca false, sprawdź, czy istnieje w bazie danych.

  3. Jeśli EnabledTransPublishing() Właściwość jest false, zestaw do true.

  4. Do publikacja transakcyjnych, należy sprawdzić wartość LogReaderAgentExists() Właściwość. Jeśli ta właściwość jest true, zadanie Agent odczytu dziennika jest już w tej bazie danych. Jeśli ta właściwość jest false, wykonaj następujące czynności:

    • zestaw Login() i Password() lub SecurePassword() pola LogReaderAgentProcessSecurity() Aby podać poświadczenia dla Microsoft Konto systemu Windows, w ramach którego działa Agent odczytywania dziennika.

      Uwaga

      Ustawienie LogReaderAgentProcessSecurity() nie jest wymagany, jeśli publikacja jest tworzona przez element członkowski członkowski sysadmin stała rola serwera. W takim przypadek agent będzie personifikować konto agenta programu SQL Server.Aby uzyskać więcej informacji zobacz Replication Agent Security Model.

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

    • Wywołanie CreateLogReaderAgent() Metoda, aby utworzyć zadanie Agent odczytywania dziennika dla bazy danych.

  5. Utworzenie wystąpienie TransPublication klasy, a zestaw następujące właściwości dla tego obiektu:

    • The ServerConnection from step 1 for ConnectionContext().

    • Nazwa bazy danych opublikowanej w celu DatabaseName().

    • Nazwę dla publikacja Name().

    • A PublicationType : Transactional() lub Snapshot().

    • The Login() and Password() fields of SnapshotGenerationAgentProcessSecurity() to provide the poświadczenia for the Windows account under which the migawka Agent runs. To konto jest również używane, wysyłając migawka Agent połączeń do lokalnego dystrybutor i dla wszystkich połączeń zdalnych przy użyciu uwierzytelnianie systemu Windows.

      Uwaga

      Ustawienie SnapshotGenerationAgentProcessSecurity() nie jest wymagany, jeśli publikacja jest tworzona przez element członkowski członkowski sysadmin stała rola serwera. W takim przypadek agent będzie personifikować konto agenta programu SQL Server.Aby uzyskać więcej informacji zobacz Replication Agent Security Model.

    • (Optional) The SqlStandardLogin() and SqlStandardPassword() or SecureSqlStandardPassword() fields of SnapshotGenerationAgentPublisherSecurity() when using SQL Server uwierzytelnianie to connect to the Wydawca.

    • (Opcjonalnie) Za pomocą włącznie (operator logicznego OR| w środowisku Visual C# i Or w języku Visual Basic) i wyłączności (operator logicznego OR^ w środowisku Visual C# i Xor w języku Visual Basic) do zestaw PublicationAttributes wartości Attributes() Właściwość.

    • (Opcjonalnie) Nazwa Wydawca PublisherName() Wydawca, gdy jest inne niż-programu SQL Server Wydawca.

  6. Wywołanie Create() Metoda tworzenia publikacja.

    Security noteSecurity Note:

    Podczas konfigurowania przez wydawcę z dystrybutor zdalny wartości dostarczane dla wszystkich właściwości, łącznie z SnapshotGenerationAgentProcessSecurity(), są wysyłane do dystrybutor jako zwykły tekst. Należy zaszyfrować połączenie między Wydawca i jego zdalnego dystrybutor przed telefonicznej Create() Metoda. Aby uzyskać więcej informacji zobacz Encrypting Connections to SQL Server.

  7. Wywołanie CreateSnapshotAgent() Metoda tworzenia zadanie agenta migawka dla publikacja.

Aby utworzyć publikacja seryjną

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

  2. Utworzenie wystąpienie ReplicationDatabase Klasa dla baza danych publikacja, ustaw ConnectionContext() Właściwość do wystąpienie ServerConnection z kroku 1 oraz wywołanie LoadProperties() Metoda. Jeśli LoadProperties() Zwraca false, sprawdź, czy istnieje w bazie danych.

  3. Jeśli EnabledMergePublishing() Właściwość jest false, ustaw ją jako true, a wywołania CommitPropertyChanges().

  4. Utworzenie wystąpienie MergePublication klasy, a zestaw następujące właściwości dla tego obiektu:

    • The ServerConnection from step 1 for ConnectionContext().

    • Nazwa bazy danych opublikowanej w celu DatabaseName().

    • Nazwę dla publikacja Name().

    • The Login() and Password() fields of SnapshotGenerationAgentProcessSecurity() to provide the poświadczenia for the Windows account under which the migawka Agent runs. To konto jest również używane, wysyłając migawka Agent połączeń do lokalnego dystrybutor i dla wszystkich połączeń zdalnych przy użyciu uwierzytelnianie systemu Windows.

      Uwaga

      Ustawienie SnapshotGenerationAgentProcessSecurity() nie jest wymagany, jeśli publikacja jest tworzona przez element członkowski członkowski sysadmin stała rola serwera. Aby uzyskać więcej informacji zobacz Replication Agent Security Model.

    • (Opcjonalnie) Za pomocą włącznie (operator logicznego OR| w środowisku Visual C# i Or w języku Visual Basic) i wyłączności (operator logicznego OR^ w środowisku Visual C# i Xor w języku Visual Basic) do zestaw PublicationAttributes wartości Attributes() Właściwość.

  5. Wywołanie Create() Metoda tworzenia publikacja.

    Security noteSecurity Note:

    Podczas konfigurowania przez wydawcę z dystrybutor zdalny wartości dostarczane dla wszystkich właściwości, łącznie z SnapshotGenerationAgentProcessSecurity(), są wysyłane do dystrybutor jako zwykły tekst. Należy zaszyfrować połączenie między Wydawca i jego zdalnego dystrybutor przed telefonicznej Create() Metoda. Aby uzyskać więcej informacji zobacz Encrypting Connections to SQL Server.

  6. Wywołanie CreateSnapshotAgent() Metoda tworzenia zadanie agenta migawka dla publikacja.

Example

W tym przykładzie włącza bazę danych AdventureWorks publikowania transakcyjnych, definiuje zadanie Agent odczytywania dziennika i tworzy AdvWorksProductTran publikacja.Artykuł musi być zdefiniowany dla tej publikacja.Poświadczenia konta systemu Windows, potrzebne do tworzenia zadanie Agent odczytywania dziennika i zadanie agenta migawka są przekazywane w czasie wykonywania.Aby dowiedzieć się, jak używać RMO do definiowania migawka i artykuły transakcyjnych, zobacz Jak Definiowanie artykułu (Programowanie RMO).

W tym przykładzie włącza bazę danych AdventureWorks publikacja korespondencji seryjnej i tworzy AdvWorksSalesOrdersMerge publikacja.Artykuły nadal muszą być zdefiniowane dla tej publikacja.Poświadczenia konta systemu Windows, potrzebne do utworzenia zadanie agenta migawka są przekazywane w czasie wykonywania.Aby dowiedzieć się, jak używać RMO do definiowania artykuły korespondencji seryjnej, zobacz Jak Definiowanie artykułu (Programowanie RMO).