ReplicationServer.InstallDistributor Method (String, DistributionDatabase)

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

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

構文

'宣言
Public Sub InstallDistributor ( _
    password As String, _
    distributionDB As DistributionDatabase _
)
public void InstallDistributor (
    string password,
    DistributionDatabase distributionDB
)
public:
void InstallDistributor (
    String^ password, 
    DistributionDatabase^ distributionDB
)
public void InstallDistributor (
    String password, 
    DistributionDatabase distributionDB
)
public function InstallDistributor (
    password : String, 
    distributionDB : DistributionDatabase
)

パラメータ

  • password
    ディストリビュータへのアクセスに使用する distributor_admin ログインのパスワードです。

    ms151521.security(ja-jp,SQL.90).gifセキュリティ メモ :
    可能な場合は、実行時にセキュリティ資格情報の入力を求めるメッセージをユーザーに対して表示します。資格情報を格納する必要がある場合は、Windows .NET Framework で提供される cryptographic services を使用します。
  • distributionDB
    ディストリビュータによって使用されるディストリビューション データベースを表す DistributionDatabase オブジェクトです。

例外

例外の種類 条件
ApplicationException

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

ArgumentException

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

解説

ディストリビュータがリモート パブリッシャを使用している場合、password には、強力なパスワードを指定する必要があります。passwordnull に設定されている場合は、ランダムなパスワードが生成されますが、最初のリモート パブリッシャがディストリビュータに登録されるときに 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();
}

スレッド セーフ

この型の public static (Microsoft Visual Basic では共有 ) メンバは、スレッド セーフです。インスタンス メンバの場合は、スレッド セーフであるとは限りません。

プラットフォーム

開発プラットフォーム

サポートされているプラットフォームの一覧については、「SQL Server 2005 のインストールに必要なハードウェアおよびソフトウェア」を参照してください。

対象プラットフォーム

サポートされているプラットフォームの一覧については、「SQL Server 2005 のインストールに必要なハードウェアおよびソフトウェア」を参照してください。

参照

関連項目

ReplicationServer Class
ReplicationServer Members
Microsoft.SqlServer.Replication Namespace

その他の技術情報

パブリッシングおよびディストリビューションを構成する方法 (RMO プログラミング)