语言

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指定当前 Publisher 服务器分发器的远程服务器名称的值。 分发服务器名称不能与当前服务器相同。

password
String

一个 String 指定密码的值。 这与拨打 InstallDistributor(String, DistributionDatabase) 分销商时使用的数值相同。

注解

该方法必须由Publisher调用以注册远程分发商。 如果 Publisher 和 Distributor 在同一服务器上,你就不应该调用这种方法。

在打电话 InstallDistributor(String, String)之前,你一定先打过 InstallDistributor(String, DistributionDatabase) 分销商。

InstallDistributor该方法只能由系统管理员固定服务器角色的成员调用。

该InstallDistributor方法等价于在Publisher执行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指定当前 Publisher 服务器分发器的远程服务器名称的值。 分发服务器名称不能与当前服务器相同。

password
SecureString

一个 SecureString 指定密码的值。 这与拨打 InstallDistributor(String, DistributionDatabase) 分销商时使用的数值相同。

注解

该方法必须由Publisher调用以注册远程分发商。 如果 Publisher 和 Distributor 在同一服务器上,你就不应该调用这种方法。

在打电话 InstallDistributor(String, SecureString)之前,你一定先打过 InstallDistributor(SecureString, DistributionDatabase) 分销商。

该 InstallDistributor(String, SecureString) 方法在密码存储在内存中时提供了额外的安全性,应当使用而非 InstallDistributor(String, String)。

InstallDistributor该方法只能由系统管理员固定服务器角色的成员调用。

该InstallDistributor方法等价于在Publisher执行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

是 SecureString 表示访问分发器时distributor_admin登录密码的值。

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

distributionDB
DistributionDatabase

一个 DistributionDatabase 代表分发商使用的分发数据库的对象。

注解

当分销商有远程出版商时,您必须指定强密码 password 。 如果password设置为 null,则生成随机密码,当第一个远程 Publisher 在分发商注册时,必须呼叫ChangeDistributorPassword重置密码。

该方法过载必须在分发器处调用,然后再从远程服务器调用 InstallDistributor(String, String) 。

该 InstallDistributor(SecureString, DistributionDatabase) 方法在密码存储在内存中时提供了额外的安全性,应当使用而非 InstallDistributor(String, DistributionDatabase)。

InstallDistributor该方法只能由系统管理员固定服务器角色的成员调用。

该 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=34733Windows .NET框架提供的加密服务。

distributionDB
DistributionDatabase

一个 DistributionDatabase 代表分发商使用的分发数据库的对象。

例外

当服务器上已经安装了发行版。

当 distributionDB 是空,或 password 超过 128 字节或包含空字符时。

示例

// 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,则生成随机密码,当第一个远程 Publisher 在分发商注册时,必须呼叫ChangeDistributorPassword重置密码。

该方法过载必须在分发器处调用,然后再从远程服务器调用 InstallDistributor 。

InstallDistributor该方法只能由系统管理员固定服务器角色的成员调用。

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

另请参阅

适用于