0

SQL Server 2005を使用してメインデータベースのレプリケーションコピーを作成しているので、レポートはメインデータベースをロックアウトする代わりにレプリケーションコピーを指すことができます。

私は3つのデータベースをパブリケーションとして設定し、次に3つのサブスクライバーがトランザクションをサブスクライバーに移動しました。

「トレーサーの挿入」機能を使用する場合、レプリケーションはパブリッシャーからディストリビューターまで2秒未満かかりますが、サブスクライバーへのレプリケーションには7分以上かかる場合があります(これらはSAN上のローカルデータベースです)。これには2つの理由が考えられます。

  1. データベースのクエリに使用されるSQLステートメントは、サブスクライバーを更新するトランザクションを停止するロックを取得しています。
  2. サブスクライバーは、レプリケーションが変更を適用するには忙しすぎます。

さらに厄介なのは、Replication Monitor / Insert Tracerにこれらの統計が表示されているにもかかわらず、[View Subscription Details]を使用して[Start]をクリックすると、数秒以内に同期されることです。

私の目標は、データを(理想的には)継続的に、または毎分同期させることです。おそらく、トランザクションのバッチサイズを減らす必要がありますか?

私は何が間違っているのですか?

[-Continuousフラグが設定されていることに注意してください!]

4

1 に答える 1

0

調査したところ、一般的なローカルパブリケーション/サブスクリプションジョブには、サブスクリプションごとに3つのタスクがあることに気付きました。

  1. スナップショットを作成する
  2. トランザクションログを移動する
  3. キックオフ(2)

これは、次のジョブに関連しています。

  1. <SourceComp>。<SourceDB>-<PubName>-<number?>
  2. <SourceComp>。<SourceDB>-<number?>
  3. <SourceComp>。<SourceDB>-<DestComp>-<DestDB>-<number?>。

(3)は1日1回実行するように構成されました。これはプッシュモデルだったので、継続して動作することを期待していましたが、そうではありませんでした。命名規則は次のとおりです。

これが誰かに役立つことを願っています

于 2010-05-12T09:20:42.500 に答える