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 -> unit
Public 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 -> unit
Public 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 -> 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) 存储过程。