Udostępnij za pośrednictwem


Jak Wyświetlanie i modyfikowanie właściwości dystrybutora (Programowanie RMO) i Wydawca

Można programowo wyświetlać i modyfikować właściwości Wydawca i dystrybutor przy użyciu obiektów zarządzania replikacji (RMO).

Umożliwia wyświetlanie i modyfikowanie właściwości dystrybutora

  1. Tworzenie połączenia do dystrybutora za pomocą ServerConnection klasy

  2. Utworzenie wystąpienie ReplicationServer klasyPrzekazywanie ServerConnection obiekt z kroku 1.

  3. (Opcjonalnie) Sprawdź, czy IsDistributor właściwość, aby sprawdzić, czy jest aktualnie podłączony serwer dystrybutora.

  4. Wywołanie Load metoda uzyskać właściwości z serwera.

  5. (Opcjonalnie) Aby zmienić właściwości, ustaw nową wartość dla jednego lub więcej właściwości dystrybutora, które zestaw na ReplicationServer obiektu.

  6. (Opcjonalnie) Jeśli CachePropertyChanges Właściwość ReplicationServer obiekt jest zestaw do true, call CommitPropertyChanges metody wprowadzenie zmian do serwera.

Umożliwia wyświetlanie i modyfikowanie właściwości baza danych dystrybucji

  1. Tworzenie połączenia do dystrybutora za pomocą ServerConnection klasy

  2. Utworzenie wystąpienie DistributionDatabase klasyOkreśl właściwość name i przebiegu ServerConnection obiekt z kroku 1.

  3. Wywołanie LoadProperties metoda uzyskać właściwości z serwera.Jeśli ta metoda zwraca false, bazy danych o określonej nazwie nie istnieje na serwerze.

  4. (Opcjonalnie) Aby zmienić właściwości, ustaw nową wartość dla jednego z DistributionDatabase Właściwości, które mogą być zestaw.

  5. (Opcjonalnie) Jeśli CachePropertyChanges Właściwość DistributionDatabase obiekt jest zestaw do true, call CommitPropertyChanges metody wprowadzenie zmian do serwera.

Umożliwia wyświetlanie i modyfikowanie Wydawca właściwości

  1. Tworzenie połączenia do Wydawca za pomocą ServerConnection klasy

  2. Utworzenie wystąpienie DistributionPublisher klasyOkreśl Name Właściwość i przebiegu ServerConnection obiekt z kroku 1.

  3. (Opcjonalnie) Aby zmienić właściwości, ustaw nową wartość dla jednego z DistributionPublisher Właściwości, które mogą być zestaw.

  4. (Opcjonalnie) Jeśli CachePropertyChanges Właściwość DistributionPublisher obiekt jest zestaw do true, call CommitPropertyChanges metody wprowadzenie zmian do serwera.

Aby zmienić hasło dla połączenia administracyjnego z Wydawca do dystrybutora

  1. Tworzenie połączenia do dystrybutora za pomocą ServerConnection klasy

  2. Utworzenie wystąpienie ReplicationServer klasy

  3. Ustaw ConnectionContext właściwość połączenia, utworzony w kroku 1.

  4. Wywołanie Load metoda, aby pobrać właściwości obiektu.

  5. Wywołanie ChangeDistributorPassword metoda.Przekazać wartość nowego hasła password parametru.

    Uwaga dotycząca zabezpieczeńUwaga dotycząca zabezpieczeń

    Jeśli to możliwe, monitują użytkowników o wprowadzenie poświadczenia zabezpieczeń w czasie wykonywania.Jeśli poświadczenia muszą być przechowywane, usługi kryptograficzne dostarczonych przez Microsoft systemu Windows.NET Framework.

  6. (Opcjonalnie) Wykonaj następujące czynności, aby zmienić hasło przy każdym zdalnego Wydawca używający tej dystrybutor:

    1. Tworzenie połączenia do Wydawca za pomocą ServerConnection klasy

    2. Utworzenie wystąpienie ReplicationServer klasy

    3. Ustaw ConnectionContext właściwość połączenia, utworzony w kroku 6a.

    4. Wywołanie Load metoda, aby pobrać właściwości obiektu.

    5. Wywołanie ChangeDistributorPassword metoda.Przekazać nową wartość hasło z kroku 5 dla password parametru.

Przykład

W tym przykładzie przedstawiono sposób zmienić właściwości baza danych dystrybucji i dystrybucji.

Uwaga dotycząca zabezpieczeńUwaga dotycząca zabezpieczeń

Aby uniknąć przechowywania poświadczenia w kodzie, nowe hasło dystrybutor jest dostarczany w czasie wykonywania.

            // Set the Distributor and distribution database names.
            string distributionDbName = "distribution";
            string distributorName = publisherInstance;

            ReplicationServer distributor;
            DistributionDatabase distributionDb;

            // Create a connection to the Distributor using Windows Authentication.
            ServerConnection conn = new ServerConnection(distributorName);

            try
            {
                // Open the connection. 
                conn.Connect();

                distributor = new ReplicationServer(conn);

                // Load Distributor properties, if it is installed.
                if (distributor.LoadProperties())
                {
                    // Password supplied at runtime.
                    distributor.ChangeDistributorPassword(password);
                    distributor.AgentCheckupInterval = 5;

                    // Save changes to the Distributor properties.
                    distributor.CommitPropertyChanges();
                }
                else
                {
                    throw new ApplicationException(
                        String.Format("{0} is not a Distributor.", publisherInstance));
                }

                // Create an object for the distribution database 
                // using the open Distributor connection.
                distributionDb = new DistributionDatabase(distributionDbName, conn);

                // Change distribution database properties.
                if (distributionDb.LoadProperties())
                {
                    // Change maximum retention period to 48 hours and history retention 
                    // period to 24 hours.
                    distributionDb.MaxDistributionRetention = 48;
                    distributionDb.HistoryRetention = 24;

                    // Save changes to the distribution database properties.
                    distributionDb.CommitPropertyChanges();
                }
                else
                {
                    // Do something here if the distribution database does not exist.
                }
            }
            catch (Exception ex)
            {
                // Implement the appropriate error handling here. 
                throw new ApplicationException("An error occured when changing Distributor " +
                    " or distribution database properties.", ex);
            }
            finally
            {
                conn.Disconnect();
            }
' Set the Distributor and distribution database names.
Dim distributionDbName As String = "distribution"
Dim distributorName As String = publisherInstance

Dim distributor As ReplicationServer
Dim distributionDb As DistributionDatabase

' Create a connection to the Distributor using Windows Authentication.
Dim conn As ServerConnection = New ServerConnection(distributorName)

Try
    ' Open the connection. 
    conn.Connect()

    distributor = New ReplicationServer(conn)

    ' Load Distributor properties, if it is installed.
    If distributor.LoadProperties() Then
        ' Password supplied at runtime.
        distributor.ChangeDistributorPassword(password)
        distributor.AgentCheckupInterval = 5

        ' Save changes to the Distributor properties.
        distributor.CommitPropertyChanges()
    Else
        Throw New ApplicationException( _
            String.Format("{0} is not a Distributor.", publisherInstance))
    End If

    ' Create an object for the distribution database 
    ' using the open Distributor connection.
    distributionDb = New DistributionDatabase(distributionDbName, conn)

    ' Change distribution database properties.
    If distributionDb.LoadProperties() Then
        ' Change maximum retention period to 48 hours and history retention 
        ' period to 24 hours.
        distributionDb.MaxDistributionRetention = 48
        distributionDb.HistoryRetention = 24

        ' Save changes to the distribution database properties.
        distributionDb.CommitPropertyChanges()
    Else
        ' Do something here if the distribution database does not exist.
    End If
Catch ex As Exception
    ' Implement the appropriate error handling here. 
    Throw New ApplicationException("An error occured when changing Distributor " + _
        " or distribution database properties.", ex)
Finally
    conn.Disconnect()
End Try