web-dev-qa-db-ja.com

2つの異なるドメインでレプリケーションは可能ですか?

それぞれが異なるドメイン上にあるさまざまな地理的場所の間でデータベースレプリケーションを実装しています。すべてのプロセスを完了した後、エージェントを開始すると、実行して停止します。

詳細を見ると、次のことがわかります。

Error messages:
The process could not connect to Subscriber 'Mydomain\myusername'. (Source: MSSQL_REPL, Error number: MSSQL_REPL20084)

Login failed. The login is from an untrusted domain and cannot be used with Windows authentication. (Source: MSSQLServer, Error number: 18452)
5
kombo

信頼されていないドメインまたはワークグループ間のレプリケーションは、Windows認証を使用してパススルー認証を構成することで実行できます。

同じユーザー名とパスワードを持つローカルWindowsアカウントをパブリッシャーとサブスクライバーの両方に作成します。このアカウントをレプリケーションエージェントプロセスアカウントに使用し、パブリッシャー、ディストリビューター、またはサブスクライバーへの接続でこのアカウントを偽装します。アカウントに Replication Agent Security Model で必要な権限があることを確認します。

このアプローチについては、セクションで説明しています。Windows認証を使用して、信頼されていないドメインでSQL Serverを実行している2台のコンピューター間のレプリケーションを設定しますin HOW TO:SQL Serverを実行しているコンピューター間で、信頼されていないドメインで、またはインターネットを介して複製する

6

2つのドメインが相互に信頼していないため、これは失敗しています。そのため、あるドメインのアカウントで実行されているプロセスは、Windows認証を使用して他のドメインのSQL Serverに接続できません。これを回避するには、3つのオプションがあります。

  1. 2つのドメイン間に信頼関係を作成します。

  2. パススルー認証を使用します。 (トポロジー内のすべてのマシンで、同じユーザー名とパスワードでWindowsアカウントを作成します。)

  3. レプリケーションを設定するときに、クロスドメイン接続にSQL認証を使用します。

私の レプリケーション階段の記事 SQL Serverレプリケーションのセットアップの段階的なウォークスルーを示し、さまざまなプロセスで使用されるさまざまなセキュリティ資格情報に関する詳細情報を示します。階段は、クロスドメインインストールをセットアップするための段階的なガイドではありませんが、この問題を回避するために十分な情報がそこにあるはずです。

2
Sebastian Meine

まず、ネットワーク管理者の助けを借りて、異なるドメインにあるこれら2つのサーバー間の接続をセットアップし、DNSエントリも更新する必要があります。

  1. 両方のサーバーで同じパスワードでSQLログインを作成する
  2. SQLログインを使用して、あるサーバーから別のサーバーにSQL Serverを接続し、その逆の接続を行ってください。
  3. エージェントのセキュリティアカウントを使用してソースサーバーでパブリケーションを作成し、記事を定義する
  4. プッシュサブスクリプションを作成して、スナップショット/トランザクションエージェントとディストリビューションエージェントの両方がパブリッシャーで実行されるようにします。構成の際、サブスクライバーへの接続は、手順1で作成したSQLログインを使用してください。
  5. レプリケーションモニターを確認し、すべてが正常に機能していることを確認します。
1