ReplicationServer.InstallDistributor 方法

定义

安装分发服务器。

重载

InstallDistributor(String, String)

注册远程分发服务器。

InstallDistributor(String, SecureString)

注册远程分发服务器,在其中使用 SecureString 对象指定密码。

InstallDistributor(SecureString, DistributionDatabase)

在当前连接的 Microsoft SQL Server 实例上安装分发服务器,其中密码是使用 SecureString 对象指定的。

InstallDistributor(String, DistributionDatabase)

在当前连接的 Microsoft SQL Server 实例上安装分发服务器。

示例

// Set the server and database names
string distributionDbName = "distribution";
string publisherName = publisherInstance;
string publicationDbName = "AdventureWorks2012";

DistributionDatabase distributionDb;
ReplicationServer distributor;
DistributionPublisher publisher;
ReplicationDatabase publicationDb;

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

try
{
    // Connect to the server acting as the Distributor 
    // and local Publisher.
    conn.Connect();

    // Define the distribution database at the Distributor,
    // but do not create it now.
    distributionDb = new DistributionDatabase(distributionDbName, conn);
    distributionDb.MaxDistributionRetention = 96;
    distributionDb.HistoryRetention = 120;

    // Set the Distributor properties and install the Distributor.
    // This also creates the specified distribution database.
    distributor = new ReplicationServer(conn);
    distributor.InstallDistributor((string)null, distributionDb);

    // Set the Publisher properties and install the Publisher.
    publisher = new DistributionPublisher(publisherName, conn);
    publisher.DistributionDatabase = distributionDb.Name;
    publisher.WorkingDirectory = @"\\" + publisherName + @"\repldata";
    publisher.PublisherSecurity.WindowsAuthentication = true;
    publisher.Create();

    // Enable AdventureWorks2012 as a publication database.
    publicationDb = new ReplicationDatabase(publicationDbName, conn);

    publicationDb.EnabledTransPublishing = true;
    publicationDb.EnabledMergePublishing = true;
}
catch (Exception ex)
{
    // Implement appropriate error handling here.
    throw new ApplicationException("An error occured when installing distribution and publishing.", ex);
}
finally
{
    conn.Disconnect();
}

InstallDistributor(String, String)

注册远程分发服务器。

public:
 void InstallDistributor(System::String ^ distributionServerName, System::String ^ password);
public void InstallDistributor (string distributionServerName, string password);
member this.InstallDistributor : string * string -> unit
Public Sub InstallDistributor (distributionServerName As String, password As String)

参数

distributionServerName
String

一个 String 值,该值指定要用作当前发布服务器的分发服务器的远程服务器的名称。 分发服务器不能与当前服务器同名。

password
String

一个指定密码的 String 值。 它是在分发服务器上调用 InstallDistributor(String, DistributionDatabase) 时使用的相同值。

注解

必须从发布服务器调用此方法才能注册远程分发服务器。 如果发布服务器和分发服务器位于同一服务器上,则不应调用此方法。

在调用 InstallDistributor(String, String)之前,必须在分发服务器上调用 InstallDistributor(String, DistributionDatabase)

方法 InstallDistributor 只能由 sysadmin 固定服务器角色的成员调用。

方法 InstallDistributor 等效于在发布服务器上执行 sp_adddistributor (Transact-SQL) 存储过程来注册远程分发服务器。

适用于

InstallDistributor(String, SecureString)

注册远程分发服务器,在其中使用 SecureString 对象指定密码。

public:
 void InstallDistributor(System::String ^ distributionServerName, System::Security::SecureString ^ password);
public void InstallDistributor (string distributionServerName, System.Security.SecureString password);
member this.InstallDistributor : string * System.Security.SecureString -> unit
Public Sub InstallDistributor (distributionServerName As String, password As SecureString)

参数

distributionServerName
String

一个 String 值,该值指定要用作当前发布服务器的分发服务器的远程服务器的名称。 分发服务器不能与当前服务器同名。

password
SecureString

一个指定密码的 SecureString 值。 它是在分发服务器上调用 InstallDistributor(String, DistributionDatabase) 时使用的相同值。

注解

必须从发布服务器调用此方法才能注册远程分发服务器。 如果发布服务器和分发服务器位于同一服务器上,则不应调用此方法。

在调用 InstallDistributor(String, SecureString)之前,必须在分发服务器上调用 InstallDistributor(SecureString, DistributionDatabase)

方法 InstallDistributor(String, SecureString) 为密码提供额外的安全性,而密码存储在内存中,应使用 而不是 InstallDistributor(String, String)

方法 InstallDistributor 只能由 sysadmin 固定服务器角色的成员调用。

方法 InstallDistributor 等效于在发布服务器上执行 sp_adddistributor (Transact-SQL) 存储过程来注册远程分发服务器。

适用于

InstallDistributor(SecureString, DistributionDatabase)

在当前连接的 Microsoft SQL Server 实例上安装分发服务器,其中密码是使用 SecureString 对象指定的。

public:
 void InstallDistributor(System::Security::SecureString ^ password, Microsoft::SqlServer::Replication::DistributionDatabase ^ distributionDB);
public void InstallDistributor (System.Security.SecureString password, Microsoft.SqlServer.Replication.DistributionDatabase distributionDB);
member this.InstallDistributor : System.Security.SecureString * Microsoft.SqlServer.Replication.DistributionDatabase -> unit
Public Sub InstallDistributor (password As SecureString, distributionDB As DistributionDatabase)

参数

password
SecureString

一个表示用于访问分发服务器的 distributor_admin 登录名的密码的 SecureString 值。

安全说明 如果可能,提示用户在运行时输入安全凭据。 如果必须存储凭据,请使用 http://go.microsoft.com/fwlink/?LinkId=34733 Windows .NET Framework提供的加密服务。

distributionDB
DistributionDatabase

一个表示分发服务器使用的分发数据库的 DistributionDatabase 对象。

注解

当分发服务器具有远程发布服务器时,必须指定强密码 password 。 如果 password 设置为 null,则会生成随机密码,并且必须在分发服务器上注册第一个远程发布服务器时调用 ChangeDistributorPassword 以重置密码。

在从远程服务器调用之前,必须在分发服务器上调用 InstallDistributor(String, String) 此方法重载。

方法 InstallDistributor(SecureString, DistributionDatabase) 为密码提供额外的安全性,而密码存储在内存中,应使用 而不是 InstallDistributor(String, DistributionDatabase)

方法 InstallDistributor 只能由 sysadmin 固定服务器角色的成员调用。

方法 InstallDistributor 等效于 sp_adddistributor (Transact-SQL) 存储过程。

适用于

InstallDistributor(String, DistributionDatabase)

在当前连接的 Microsoft SQL Server 实例上安装分发服务器。

public:
 void InstallDistributor(System::String ^ password, Microsoft::SqlServer::Replication::DistributionDatabase ^ distributionDB);
public void InstallDistributor (string password, Microsoft.SqlServer.Replication.DistributionDatabase distributionDB);
member this.InstallDistributor : string * Microsoft.SqlServer.Replication.DistributionDatabase -> unit
Public Sub InstallDistributor (password As String, distributionDB As DistributionDatabase)

参数

password
String

用于访问分发服务器的 distributor_admin 登录名的密码。

安全说明 如果可能,提示用户在运行时输入安全凭据。 如果必须存储凭据,请使用 http://go.microsoft.com/fwlink/?LinkId=34733 Windows .NET Framework提供的加密服务。

distributionDB
DistributionDatabase

一个表示分发服务器使用的分发数据库的 DistributionDatabase 对象。

例外

当服务器上已安装分发时。

distributionDB 为 null 时,或超过 password 128 个字节或包含 null 字符时。

示例

// Set the server and database names
string distributionDbName = "distribution";
string publisherName = publisherInstance;
string publicationDbName = "AdventureWorks2012";

DistributionDatabase distributionDb;
ReplicationServer distributor;
DistributionPublisher publisher;
ReplicationDatabase publicationDb;

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

try
{
    // Connect to the server acting as the Distributor 
    // and local Publisher.
    conn.Connect();

    // Define the distribution database at the Distributor,
    // but do not create it now.
    distributionDb = new DistributionDatabase(distributionDbName, conn);
    distributionDb.MaxDistributionRetention = 96;
    distributionDb.HistoryRetention = 120;

    // Set the Distributor properties and install the Distributor.
    // This also creates the specified distribution database.
    distributor = new ReplicationServer(conn);
    distributor.InstallDistributor((string)null, distributionDb);

    // Set the Publisher properties and install the Publisher.
    publisher = new DistributionPublisher(publisherName, conn);
    publisher.DistributionDatabase = distributionDb.Name;
    publisher.WorkingDirectory = @"\\" + publisherName + @"\repldata";
    publisher.PublisherSecurity.WindowsAuthentication = true;
    publisher.Create();

    // Enable AdventureWorks2012 as a publication database.
    publicationDb = new ReplicationDatabase(publicationDbName, conn);

    publicationDb.EnabledTransPublishing = true;
    publicationDb.EnabledMergePublishing = true;
}
catch (Exception ex)
{
    // Implement appropriate error handling here.
    throw new ApplicationException("An error occured when installing distribution and publishing.", ex);
}
finally
{
    conn.Disconnect();
}

注解

当分发服务器具有远程发布服务器时,必须指定强密码 password 。 如果 password 设置为 null,则会生成随机密码,并且必须在分发服务器上注册第一个远程发布服务器时调用 ChangeDistributorPassword 以重置密码。

在从远程服务器调用之前,必须在分发服务器上调用 InstallDistributor 此方法重载。

方法 InstallDistributor 只能由 sysadmin 固定服务器角色的成员调用。

方法 InstallDistributor 等效于 sp_adddistributor (Transact-SQL) 存储过程。

另请参阅

适用于