次の方法で共有


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

レプリケーション管理オブジェクト (RMO) を使用することで、プログラムによってレプリケーション パブリッシングおよびディストリビューションを構成できます。

パブリッシングおよびディストリビューションを単一サーバーで構成するには

  1. ServerConnection クラスを使用して、サーバーへの接続を作成します。

  2. ReplicationServer クラスのインスタンスを作成します。手順 1. の ServerConnection を渡します。

  3. DistributionDatabase クラスのインスタンスを作成します。

  4. Name プロパティにデータベース名を設定し、ConnectionContext プロパティに手順 1. の ServerConnection を設定します。

  5. InstallDistributor メソッドを呼び出してディストリビュータをインストールします。手順 3. の DistributionDatabase を渡します。

  6. DistributionPublisher クラスのインスタンスを作成します。

  7. 次の DistributionPublisher のプロパティを設定します。

    • Name - パブリッシャの名前。
    • ConnectionContext - 手順 1. の ServerConnection
    • DistributionDatabase - 手順 5. で作成したデータベースの名前。
    • WorkingDirectory - スナップショット ファイルのアクセスに使用する共有。
    • PublisherSecurity - パブリッシャへの接続時に使用されるセキュリティ モード。WindowsAuthentication を推奨します。
  8. Create メソッドを呼び出します。

リモート ディストリビュータを使用してパブリッシングおよびディストリビューションを構成するには

  1. ServerConnection クラスを使用して、リモート ディストリビュータ サーバーへの接続を作成します。

  2. ReplicationServer クラスのインスタンスを作成します。手順 1. の ServerConnection を渡します。

  3. DistributionDatabase クラスのインスタンスを作成します。

  4. Name プロパティにデータベース名を設定し、ConnectionContext プロパティに手順 1. の ServerConnection を設定します。

  5. InstallDistributor メソッドを呼び出してディストリビュータをインストールします。安全なパスワード (パブリッシャがリモート ディストリビュータへの接続時に使用) および手順 3. の DistributionDatabase オブジェクトを指定します。詳細については、「ディストリビュータの保護」を参照してください。

    ms147304.security(ja-jp,SQL.90).gifセキュリティ メモ :
    可能であれば、実行時にセキュリティ資格情報の入力を求めるメッセージを表示します。資格情報を保存する必要がある場合は、Microsoft Windows .NET Framework に用意されている cryptographic services を使用します。
  6. DistributionPublisher クラスのインスタンスを作成します。

  7. 次の DistributionPublisher のプロパティを設定します。

    • Name - ローカル パブリッシャ サーバーの名前。
    • ConnectionContext - 手順 1. の ServerConnection
    • DistributionDatabase - 手順 5. で作成したデータベースの名前。
    • WorkingDirectory - スナップショット ファイルのアクセスに使用する共有。
    • PublisherSecurity - パブリッシャへの接続時に使用されるセキュリティ モード。WindowsAuthentication を推奨します。
  8. Create メソッドを呼び出します。

  9. ServerConnection クラスを使用して、ローカル パブリッシャ サーバーへの接続を作成します。

  10. ReplicationServer クラスのインスタンスを作成します。手順 9. の ServerConnection を渡します。

  11. InstallDistributor メソッドを呼び出します。リモート ディストリビュータの名前、および手順 5. で指定したリモート ディストリビュータのパスワードを渡します。

    ms147304.security(ja-jp,SQL.90).gifセキュリティ メモ :
    可能であれば、実行時にセキュリティ資格情報の入力を求めるメッセージを表示します。資格情報を保存する必要がある場合は、Windows .NET Framework に用意されている cryptographic services を使用します。

使用例

次の例では、ローカル ディストリビュータを持つパブリッシャとしてサーバーを構成します。

// 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();
}
' Set the server and database names
Dim distributionDbName As String = "distribution"
Dim publisherName As String = publisherInstance
Dim publicationDbName As String = "AdventureWorks"

Dim distributionDb As DistributionDatabase
Dim distributor As ReplicationServer
Dim publisher As DistributionPublisher
Dim publicationDb As ReplicationDatabase

' Create a connection to the server using Windows Authentication.
Dim conn As ServerConnection = 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((CType(Nothing, String)), 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 ex As Exception
    ' Implement appropriate error handling here.
    Throw New ApplicationException("An error occured when installing distribution and publishing.", ex)

Finally
    conn.Disconnect()

End Try

参照

処理手順

パブリッシングとディストリビューションを構成する方法 (レプリケーション Transact-SQL プログラミング)

概念

レプリケーション管理オブジェクトを使用したプログラミング

その他の技術情報

ディストリビューションの構成

ヘルプおよび情報

SQL Server 2005 の参考資料の入手