1

最近、クライアント用に新しい Sql Server 2008 サーバーをインストールし、それらのすべてのデータベースを移動する必要がありました。どうやら彼らは、ローカルの Sql 2000 Desktop Edition インスタンスでレプリケーションを使用する 1 つのアプリケーションを忘れていたようです。現在、レプリケーションを再度実行しようとしています。

現在、次のエラーが表示されます: サーバー '...' はディストリビューターとして構成されていません。

それに関する2つの質問:

  1. DBスキーマを見るだけで、使用されているレプリケーションのタイプを検出する方法はありますか?
  2. レプリケーション ウィザードを再度実行する必要はないと思います。これにより、データベース スキーマが変更されるため、既に正常な状態になっているはずです。すべてを手動で接続するにはどうすればよいでしょうか?
4

1 に答える 1

0

どうやら、推奨されるアプローチであったアップグレードではなく、新規の SQL Server インストールを行ったようです。

現在、マージ レプリケーションとトランザクション レプリケーションの両方の主要な種類のレプリケーションを使用できるようです (この記事を参照してください) 。

新しくインストールしたので、パブリケーションをゼロから作成する必要があります。レプリケーションを設定するときは、通常の手順に従うことをお勧めします。

  1. サブスクライバーでスキーマまたはデータの変更も行う必要がある場合は、マージ レプリケーションを選択します。サブスクライバーが読み取り専用であるか、そこでスキーマ/データを変更する必要がない場合は、トランザクション レプリケーションを選択します。
  2. SQL Server 2008 でパブリケーションを作成します。ディストリビューターもこのインスタンスである必要があります (異なるバージョンの SQL Server 間のレプリケーション ルールにより、ディストリビューターはパブリッシャーより前である必要があります)。記事、スナップショット エージェントのスケジュール、セキュリティ設定を選択します。
  3. スナップショットを初期化します。
  4. MSDE 2000 サブスクリプションを再作成します。すべてのエージェントはディストリビューターで実行する必要があることに注意してください。

セキュリティ設定を理解する必要があります。特に、サブスクライバーがパブリッシャーに接続する方法 (ドメイン内の場合は SQL 資格情報または統合セキュリティ)。

したがって、パブリケーションを再作成することはそれほど難しくありません。

以前にマージ レプリケーションを設定していた場合、実際の問題は、まだパブリッシャーにアップロードされていないサブスクライバーのデータである可能性があります。したがって、独自の変更を加えた多数のサブスクライバーがいます。この状況では、データを破棄するか、各サブスクライバーを手動でバックアップして、サブスクリプションの初期化後に同期します。

于 2012-07-02T19:08:04.133 に答える