InstallDistributor メソッド (String, DistributionDatabase)

現在接続されている MicrosoftSQL Server のインスタンスにディストリビュータをインストールします。

名前空間:  Microsoft.SqlServer.Replication
アセンブリ:  Microsoft.SqlServer.Rmo (Microsoft.SqlServer.Rmo.dll)

構文

'宣言
Public Sub InstallDistributor ( _
    password As String, _
    distributionDB As DistributionDatabase _
)
'使用
Dim instance As ReplicationServer
Dim password As String
Dim distributionDB As DistributionDatabase

instance.InstallDistributor(password, _
    distributionDB)
public void InstallDistributor(
    string password,
    DistributionDatabase distributionDB
)
public:
void InstallDistributor(
    String^ password, 
    DistributionDatabase^ distributionDB
)
member InstallDistributor : 
        password:string * 
        distributionDB:DistributionDatabase -> unit 
public function InstallDistributor(
    password : String, 
    distributionDB : DistributionDatabase
)

パラメーター

  • password
    型: System. . :: . .String
    ディストリビュータへのアクセスに使用する distributor_admin ログインのパスワードです。
    可能であれば、実行時にセキュリティ資格情報の入力を求めるメッセージをユーザーに対して表示します。資格情報を格納する必要がある場合は、Windows .NET Framework で提供される cryptographic services を使用します。

例外

例外 条件
ApplicationException

ディストリビュータがサーバーに既にインストールされている場合。

ArgumentException

distributionDB が NULL であるか、password が 128 バイトを超えているか、または NULL 文字を含んでいる場合。

説明

ディストリビュータがリモート パブリッシャを使用している場合、password には、強力なパスワードを指定する必要があります。password が null Nothing nullptr unit NULL 参照 (Visual Basic では Nothing) に設定されている場合は、ランダムなパスワードが生成されますが、最初のリモート パブリッシャがディストリビュータに登録されるときに ChangeDistributorPassword を呼び出して、このパスワードをリセットする必要があります。

このメソッドのオーバーロードは、リモート サーバーから InstallDistributor を呼び出す前に、ディストリビュータ側で呼び出す必要があります。

InstallDistributor メソッドを呼び出すことができるのは、固定サーバー ロール sysadmin のメンバだけです。

InstallDistributor メソッドは、sp_adddistributor (Transact-SQL) ストアド プロシージャに相当します。

この名前空間、クラス、またはメンバは、.NET Framework 2.0 でのみサポートされています。

使用例

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

            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 AdventureWorks 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();
            }