SQL Server 2005を使用してメインデータベースのレプリケーションコピーを作成しているので、レポートはメインデータベースをロックアウトする代わりにレプリケーションコピーを指すことができます。
私は3つのデータベースをパブリケーションとして設定し、次に3つのサブスクライバーがトランザクションをサブスクライバーに移動しました。
「トレーサーの挿入」機能を使用する場合、レプリケーションはパブリッシャーからディストリビューターまで2秒未満かかりますが、サブスクライバーへのレプリケーションには7分以上かかる場合があります(これらはSAN上のローカルデータベースです)。これには2つの理由が考えられます。
- データベースのクエリに使用されるSQLステートメントは、サブスクライバーを更新するトランザクションを停止するロックを取得しています。
- サブスクライバーは、レプリケーションが変更を適用するには忙しすぎます。
さらに厄介なのは、Replication Monitor / Insert Tracerにこれらの統計が表示されているにもかかわらず、[View Subscription Details]を使用して[Start]をクリックすると、数秒以内に同期されることです。
私の目標は、データを(理想的には)継続的に、または毎分同期させることです。おそらく、トランザクションのバッチサイズを減らす必要がありますか?
私は何が間違っているのですか?
[-Continuousフラグが設定されていることに注意してください!]