ReplicationServer.InstallDistributor 方法   
定义
重要
一些信息与预发行产品相关,相应产品在发行之前可能会进行重大修改。 对于此处提供的信息,Microsoft 不作任何明示或暗示的担保。
安装分发服务器。
重载
| 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 -> unitPublic Sub InstallDistributor (distributionServerName As String, password As 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 -> unitPublic Sub InstallDistributor (distributionServerName As String, password As SecureString)参数
- 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 -> unitPublic 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 -> unitPublic 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) 存储过程。