Jak Wyświetlanie i modyfikowanie ustawień zabezpieczeń subskrypcji (Programowanie RMO)
Konta ustawienia zabezpieczeń (identyfikatory logowania i hasło) wymagane przez replikacja są definiowane podczas tworzenia publikacje i subskrypcje.Te ustawienia można zmienić później przy użyciu obiektów zarządzania replikacji (RMO).Klasy RMO i właściwości można użyć zależą od typu agenta i typu połączenia z serwerem.
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. |
Aby zmienić wszystkie wystąpienia hasło przechowywane na serwerze replikacja
Tworzenie połączenia do serwera replikacja przy użyciu ServerConnection klasy
Utworzenie wystąpienie ReplicationServer klasy przy użyciu połączenia z kroku 1.
Wywołanie ChangeReplicationServerPasswords metoda.Określić następujące parametry:
security_mode- ReplicationSecurityMode wartość, która określa typ uwierzytelnianie, dla którego zmieniane są wszystkie wystąpienia hasło.
login-którego zmieniane są wszystkie wystąpienia hasło logowania.
password -wartość nowego hasła.
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 system Windows.NET Framework.
Ostrzeżenie
Tylko element członkowski sysadmin stała rola serwera można wywołać tej metoda.
Powtórz kroki 1-3, na każdym serwerze w topologia replikacja gdzie hasło musi zostać zaktualizowany.
Aby zmienić ustawienia zabezpieczeń dla agenta dystrybucji dla subskrypcja wypychana transakcyjnych publikacja
Tworzenie połączenia do Wydawca za pomocą ServerConnection klasy
Utworzenie wystąpienie TransSubscription klasy
Ustaw PublicationName, DatabaseName, SubscriberName, i SubscriptionDBName właściwość subskrypcja i połączenie z kroku 1 dla zestaw ConnectionContext właściwość.
Wywołanie LoadProperties metoda, aby pobrać właściwości obiektu.Jeśli ta metoda zwraca false, subskrypcja nie istnieje albo niepoprawnie zostały zdefiniowane właściwości subskrypcji w kroku 3.
Ustaw jedną lub więcej z następujących właściwości zabezpieczeń na wystąpienie TransSubscription:
Aby zmienić poświadczenia konta systemu Windows, w ramach którego działa agent zestaw Login i Password pola SynchronizationAgentProcessSecurity.
Aby określić zintegrowanego uwierzytelnianie systemu Windows jako typ uwierzytelnianie agent używa podczas łączenia z subskrybentem, zestaw WindowsAuthentication pole z SubscriberSecurity Właściwość true.
Aby określić uwierzytelnianie programu SQL Server jako typ uwierzytelnianie agent używa podczas łączenia z subskrybentem, zestaw WindowsAuthentication pole z SubscriberSecurity Właściwość falsei określ poświadczenia logowania subskrybenta SqlStandardLogin i SqlStandardPassword pole.
Ostrzeżenie
Agent dystrybutor jest zawsze nawiązać połączenia przy użyciu poświadczenia systemu Windows określonego przez SynchronizationAgentProcessSecurity.To konto jest również używane do nawiązywania połączeń zdalnych za pomocą uwierzytelniania systemu Windows.
(Opcjonalnie) Jeżeli określono wartość true dla CachePropertyChanges, call CommitPropertyChanges metoda zatwierdzanie zmian na serwerze.Jeżeli określono wartość false dla CachePropertyChanges (domyślnie), zmiany są wysyłane do serwera natychmiast.
Aby zmienić ustawienia zabezpieczeń dla agenta dystrybucji dla subskrypcja wciągana transakcyjnych publikacja
Tworzenie połączenia do subskrybenta za pomocą ServerConnection klasy
Utworzenie wystąpienie TransPullSubscription klasy
Ustaw PublicationName, DatabaseName, PublisherName, i PublicationDBName właściwość subskrypcja i połączenie z kroku 1 dla zestaw ConnectionContext właściwość.
Wywołanie LoadProperties metoda, aby pobrać właściwości obiektu.Jeśli ta metoda zwraca false, subskrypcja nie istnieje albo niepoprawnie zostały zdefiniowane właściwości subskrypcji w kroku 3.
Ustaw jedną lub więcej z następujących właściwości zabezpieczeń na wystąpienie TransPullSubscription:
Aby zmienić poświadczenia konta systemu Windows, w ramach którego działa agent zestaw Login i Password pola SynchronizationAgentProcessSecurity.
Aby określić zintegrowanego uwierzytelnianie systemu Windows jako typ uwierzytelnianie przy użyciu agenta, gdy łączy się z dystrybutorem, zestaw WindowsAuthentication pole z DistributorSecurity Właściwość true.
Aby określić uwierzytelnianie programu SQL Server jako typ uwierzytelnianie przy użyciu agenta, gdy łączy się z dystrybutorem, zestaw WindowsAuthentication pole z DistributorSecurity Właściwość falsei określ poświadczenia logowania dystrybutora SqlStandardLogin i SqlStandardPassword pole.
Ostrzeżenie
Agent subskrybenta jest zawsze nawiązać połączenia przy użyciu poświadczenia systemu Windows określonego przez SynchronizationAgentProcessSecurity.To konto jest również używane do nawiązywania połączeń zdalnych za pomocą uwierzytelniania systemu Windows.
(Opcjonalnie) Jeżeli określono wartość true dla CachePropertyChanges, call CommitPropertyChanges metoda zatwierdzanie zmian na serwerze.Jeżeli określono wartość false dla CachePropertyChanges (domyślnie), zmiany są wysyłane do serwera natychmiast.
Aby zmienić ustawienia zabezpieczeń dla agenta scalania dla subskrypcja wciągana do publikacja korespondencji seryjnej
Tworzenie połączenia do subskrybenta za pomocą ServerConnection klasy
Utworzenie wystąpienie MergePullSubscription klasy
Ustaw PublicationName, DatabaseName, PublisherName, i PublicationDBName właściwość subskrypcja i połączenie z kroku 1 dla zestaw ConnectionContext właściwość.
Wywołanie LoadProperties metoda, aby pobrać właściwości obiektu.Jeśli ta metoda zwraca false, subskrypcja nie istnieje albo niepoprawnie zostały zdefiniowane właściwości subskrypcji w kroku 3.
Ustaw jedną lub więcej z następujących właściwości zabezpieczeń na wystąpienie MergePullSubscription:
Aby zmienić poświadczenia konta systemu Windows, w ramach którego działa agent zestaw Login i Password pola SynchronizationAgentProcessSecurity.
Aby określić zintegrowanego uwierzytelnianie systemu Windows jako typ uwierzytelnianie przy użyciu agenta, gdy łączy się z dystrybutorem, zestaw WindowsAuthentication pole z DistributorSecurity Właściwość true.
Aby określić uwierzytelnianie programu SQL Server jako typ uwierzytelnianie przy użyciu agenta, gdy łączy się z dystrybutorem, zestaw WindowsAuthentication pole z DistributorSecurity Właściwość falsei określ poświadczenia logowania dystrybutora SqlStandardLogin i SqlStandardPassword pole.
Aby określić zintegrowanego uwierzytelnianie systemu Windows jako typ uwierzytelnianie agent używa podczas łączenia z programu Publisher, zestaw WindowsAuthentication pole z PublisherSecurity Właściwość true.
Aby określić uwierzytelnianie programu SQL Server jako typ uwierzytelnianie agent używa podczas łączenia z Wydawca, zestaw WindowsAuthentication pole z PublisherSecurity Właściwość falsei określ poświadczenia logowania Wydawca dla SqlStandardLogin i SqlStandardPassword pole.
Ostrzeżenie
Agent subskrybenta jest zawsze nawiązać połączenia przy użyciu poświadczenia systemu Windows określonego przez SynchronizationAgentProcessSecurity.To konto jest również używane do nawiązywania połączeń zdalnych za pomocą uwierzytelniania systemu Windows.
(Opcjonalnie) Jeżeli określono wartość true dla CachePropertyChanges, call CommitPropertyChanges metoda zatwierdzanie zmian na serwerze.Jeżeli określono wartość false dla CachePropertyChanges (domyślnie), zmiany są wysyłane do serwera natychmiast.
Aby zmienić ustawienia zabezpieczeń dla agenta scalania dla subskrypcja wypychana do publikacja korespondencji seryjnej
Tworzenie połączenia do Wydawca za pomocą ServerConnection klasy
Utworzenie wystąpienie MergeSubscription klasy
Ustaw PublicationName, DatabaseName, SubscriberName, i SubscriptionDBName właściwość subskrypcja i połączenie z kroku 1 dla zestaw ConnectionContext właściwość.
Wywołanie LoadProperties metoda, aby pobrać właściwości obiektu.Jeśli ta metoda zwraca false, subskrypcja nie istnieje albo niepoprawnie zostały zdefiniowane właściwości subskrypcji w kroku 3.
Ustaw jedną lub więcej z następujących właściwości zabezpieczeń na wystąpienie MergeSubscription:
Aby zmienić poświadczenia konta systemu Windows, w ramach którego działa agent zestaw Login i Password pola SynchronizationAgentProcessSecurity.
Aby określić zintegrowanego uwierzytelnianie systemu Windows jako typ uwierzytelnianie agent używa podczas łączenia z subskrybentem, zestaw WindowsAuthentication pole z SubscriberSecurity Właściwość true.
Aby określić uwierzytelnianie programu SQL Server jako typ uwierzytelnianie agent używa podczas łączenia z subskrybentem, zestaw WindowsAuthentication pole z SubscriberSecurity Właściwość falsei określ poświadczenia logowania subskrybenta SqlStandardLogin i SqlStandardPassword pole.
Aby określić zintegrowanego uwierzytelnianie systemu Windows jako typ uwierzytelnianie agent używa podczas łączenia z programu Publisher, zestaw WindowsAuthentication pole z PublisherSecurity Właściwość true.
Aby określić uwierzytelnianie programu SQL Server jako typ uwierzytelnianie agent używa podczas łączenia z Wydawca, zestaw WindowsAuthentication pole z PublisherSecurity Właściwość falsei określ poświadczenia logowania Wydawca dla SqlStandardLogin i SqlStandardPassword pole.
Ostrzeżenie
Agent dystrybutor jest zawsze nawiązać połączenia przy użyciu poświadczenia systemu Windows określonego przez SynchronizationAgentProcessSecurity.To konto jest również używane do nawiązywania połączeń zdalnych za pomocą uwierzytelniania systemu Windows.
(Opcjonalnie) Jeżeli określono wartość true dla CachePropertyChanges, call CommitPropertyChanges metoda zatwierdzanie zmian na serwerze.Jeżeli określono wartość false dla CachePropertyChanges (domyślnie), zmiany są wysyłane do serwera natychmiast.
Aby zmienić informacje logowania używane przez natychmiastowe subskrybenta aktualizacji podczas łączenia się transakcyjnych programu publisher
Tworzenie połączenia do subskrybenta za pomocą ServerConnection klasy
Utworzenie wystąpienie ReplicationDatabase klasy dla baza danych subskrypcja.Określ Name i ServerConnection z kroku 1 dla ConnectionContext.
Wywołanie LoadProperties metoda, aby pobrać właściwości obiektu.Jeśli ta metoda zwraca false, właściwości bazy danych w kroku 2 zostały niepoprawnie zdefiniowany lub baza danych subskrypcja nie istnieje.
Wywołanie LinkPublicationForUpdateableSubscription metoda, przekazując następujące parametry:
Publisher -nazwę Wydawca.
PublisherDB -Nazwa baza danych publikacji.
Publication-Nazwa publikacja, do której jest subskrybentem natychmiastowe aktualizowanie subskrybenta.
Distributor -nazwę dystrybutora.
PublisherSecurity-A PublisherConnectionSecurityContext obiekt, który określa typ zabezpieczeń trybu używanego przez natychmiastowe aktualizowanie subskrybenta podczas łączenia się z Wydawca poświadczenia logowania dla połączenia.
Przykład
W tym przykładzie sprawdza wartość podany identyfikator logowania i zmienia wszystkie hasła dla podanego identyfikatora logowania systemu Windows lub konto logowania do programu SQL Server przechowywane przez replikacja na serwerze.
// Set the Distributor and distribution database names.
string serverName = publisherInstance;
ReplicationServer server;
// Create a connection to the Distributor using Windows Authentication.
ServerConnection conn = new ServerConnection(serverName);
try
{
// Open the connection.
conn.Connect();
server = new ReplicationServer(conn);
// Load server properties, if it exists.
if (server.LoadProperties())
{
string[] slash = new string[1];
slash[1] = @"\";
// If the login is in the form string\string, assume we are
// changing the password for a Windows login.
if (login.Split(slash, StringSplitOptions.None).Length == 2)
{
//Change the password for the all connections that use
// the Windows login.
server.ChangeReplicationServerPasswords(
ReplicationSecurityMode.Integrated, login, password);
}
else
{
// Change the password for the all connections that use
// the SQL Server login.
server.ChangeReplicationServerPasswords(
ReplicationSecurityMode.SqlStandard, login, password);
}
}
else
{
throw new ApplicationException(String.Format(
"Properties for {0} could not be retrieved.", publisherInstance));
}
}
catch (Exception ex)
{
// Implement the appropriate error handling here.
throw new ApplicationException(String.Format(
"An error occured when changing agent login " +
" credentials on {0}.",serverName), ex);
}
finally
{
conn.Disconnect();
}
' Set the Distributor and distribution database names.
Dim serverName As String = publisherInstance
Dim server As ReplicationServer
' Create a connection to the Distributor using Windows Authentication.
Dim conn As ServerConnection = New ServerConnection(serverName)
Try
' Open the connection.
conn.Connect()
server = New ReplicationServer(conn)
' Load server properties, if it exists.
If server.LoadProperties() Then
' If the login is in the form string\string, assume we are
' changing the password for a Windows login.
If login.Split("\").Length = 2 Then
' Change the password for the all connections that use
' the Windows login.
server.ChangeReplicationServerPasswords( _
ReplicationSecurityMode.Integrated, login, password)
Else
' Change the password for the all connections that use
' the SQL Server login.
server.ChangeReplicationServerPasswords( _
ReplicationSecurityMode.SqlStandard, login, password)
End If
Else
Throw New ApplicationException(String.Format( _
"Properties for {0} could not be retrieved.", publisherInstance))
End If
Catch ex As Exception
' Implement the appropriate error handling here.
Throw New ApplicationException(String.Format( _
"An error occured when changing agent login " + _
" credentials on {0}.", serverName), ex)
Finally
conn.Disconnect()
End Try
Zobacz także