1

企業サーバーと約 50 のリモート クライアントがあります。イメージは Remoteclients に追加され、これらのイメージは CorporateServer にマージ レプリケートされます。当初、これらの画像はすべて BLOB にありました。filestream を使用して、イメージ バイナリを含む新しいテーブルを作成することにしました。そのため、元のイメージ テーブルをイメージと新しいテーブル Image_Source に分割しました。これは運用環境にあり、企業のデータ サイズは 250 GB です。

これで、次のテーブルができました:-

  1. 画像
  2. Images_Source

私は次のことをしなければなりません。

  1. この新しいテーブルをパブリッシャーに追加し、それをサブスクライバーにマージ レプリケートします。
  2. Images からすべてのイメージ BLOB をコピーし、Images_Source に転送します。

これを達成するために、私は次のことを行います:-

  1. 企業のパブリッシャーに新しいテーブルを追加し、スキーマの変更のレプリケートを True にします。このようにして、スキーマは企業と RemoteClient 間で同期されます。
  2. 企業では、Images_Source テーブルのトリガーを無効にし、Job を使用して Images から Images_Source テーブルにデータを移動します。
  3. すべてのデータが Images_Source テーブルにあると、すべてのサブスクライバーが同期されます。

この種の変更を行うための正しい手順について、専門家のアドバイスが必要です。そのような変更を行う前に、皆さんの経験と覚えておくべきことを共有できれば.

4

1 に答える 1

0

画像でこれを行ったことはありませんが、通常、新しいオブジェクトをパブリケーションに追加するには、次のスクリプトに従います。

  1. パブリッシャーでテーブルを作成します
  2. パブリッシャーとサブスクライバー間のレプリケーション プロセスを停止する
  3. これらのテーブルを、sp_addmerge を介して対応するパブリケーションに追加します... パラメータには、スナップショットの再初期化の要求が含まれます (スナップショット全体がサブスクライバに再転送されるという意味ではありませんが、新しいオブジェクトを追加する前にスナップショットに追加する必要があります)。加入者データベース)。
  4. この段階で、新しいスナップショットが作成されます
  5. レプリケーションを再開できます

それが役に立てば幸い

于 2011-05-20T00:03:30.757 に答える