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

ディストリビュータは、ディストリビューション データベースを含むサーバーです。ディストリビューション データベースには、すべての種類のレプリケーションのメタデータと履歴データ、およびトランザクション レプリケーションに対するトランザクションが格納されます。レプリケーションを設定するには、ディストリビュータを構成する必要があります。パブリッシャはそれぞれ 1 つのディストリビュータ インスタンスにしか割り当てることができませんが、複数のパブリッシャで 1 つのディストリビュータを共有できます。サーバーがディストリビュータとして指定されると、次のようなリソースが新たに消費されることになります。

  • パブリケーションのスナップショット ファイルをディストリビュータに格納する場合 (通常の場合) は、そのためのディスク領域

  • ディストリビューション データベースを格納するためのディスク領域

  • ディストリビュータで実行されるプッシュ サブスクリプションのレプリケーション エージェントが使用するプロセッサ リソース

ディストリビュータとして指定するサーバーには、サーバーとしてのさまざまな機能を果たしながら同時にレプリケーションの処理を実行できるだけの十分なディスク容量とプロセッサ パワーが必要です。ディストリビュータを構成するには、以下の設定を行います。

  • ディストリビュータを使用するすべてのパブリッシャに対して既定で使用されるスナップショット フォルダ。フォルダが既に共有されていること、および適切な権限が設定されていることを確認します。詳細については、「スナップショット フォルダのセキュリティ」を参照してください。

  • ディストリビューション データベースの名前とファイルの場所。ディストリビューション データベースの名前は、作成後には変更できません。データベースで別の名前を使用するには、ディストリビューションを無効にして再構成する必要があります。

  • ディストリビュータの使用を許可するパブリッシャ。ディストリビュータが実行されているインスタンス以外のパブリッシャを指定する場合は、パブリッシャがリモート ディストリビュータに接続するためのパスワードも指定する必要があります。

トランザクション レプリケーションでは、ディストリビューションの構成後に以下の作業を行うことをお勧めします。

ローカル ディストリビュータとリモート ディストリビュータ

既定では、ディストリビュータはパブリッシャと同じサーバー (ローカル ディストリビュータ) になりますが、別のサーバー (リモート ディストリビュータ) にすることもできます。一般に、リモート ディストリビュータは次のような場合に使用されます。

  • 処理を別のコンピュータにオフロードする場合 (たとえばパブリッシャが OLTP サーバーである場合など、パブリッシャに対するレプリケーションの影響を最小限に抑えたい場合)

  • 複数のパブリッシャを集中管理する単一のディストリビュータを構成する場合

リモート ディストリビュータは、マージ レプリケーションよりトランザクション レプリケーションでよく使用されます。これには、次の 2 つの理由があります。

  • トランザクション レプリケーションでは、レプリケートされたすべてのトランザクションの書き込みと読み取りがディストリビューション データベースに対して行われるため、ディストリビュータが果たす役割が大きくなります。

  • マージ レプリケーション トポロジでは通常、プル サブスクリプションが使用されるため、ディストリビュータですべてのエージェントが実行されるのではなく、各サブスクライバでエージェントが実行されます。詳細については、「パブリケーションのサブスクライブ」を参照してください。マージ レプリケーションでは、ほとんどの場合、ローカル ディストリビュータを使用します。

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

パブリッシャとディストリビュータのプロパティを変更するには