ReplicationServer.InstallDistributor 方法
定義
重要
部分資訊涉及發行前產品,在發行之前可能會有大幅修改。 Microsoft 對此處提供的資訊,不做任何明確或隱含的瑕疵擔保。
安裝分銷商。
多載
| 名稱 | Description |
|---|---|
| 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) 分銷商時使用的數值相同。
備註
此方法必須由 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)
參數
- 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=34733 Windows .NET Framework 提供的加密服務。
- 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=34733 Windows .NET Framework 提供的加密服務。
- 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) 儲存程序。