1

Excel スプレッドシートからの入力を処理し、ストアド プロシージャを呼び出してその DB のさまざまなテーブル内にレコードを作成する、トランザクション レプリケーションに関係する中規模のトラフィック データベースに新しいジョブを実装しました。

関連するフィールドの 1 つは、10k ~ 30k 文字のテキスト データ型です。ジョブ内では、カスタム SQL サーバー関数が大きな HTML 本文から URL を解析し、それをテーブルに書き込みます。

集中的な性質のため、またはプロセスのように思われるため、ジョブ実行ごとにスプレッドシートから 35 レコードまたは行のみを 30 分ごとに処理します。ログ リーダー エージェントがトランザクション ログ全体をスキャンし、レプリケーション用のレコードが 0 件しか見つからないため、トランザクション ログが驚くべき速さで増大し、パブリッシャーからサブスクライバーにかなりの遅延が生じていることがわかります。

概観すると、ログのサイズは約 30GB であり、ジョブを 5 ~ 6 回実行するとそのサイズを超えて大きくなるため、これ以上小さくすることはできません。ディストリビューション データベースのバックアップ (5 分ごと) とトランザクション ログのバックアップを 15 分ごとに頻繁に実行しています。

レイテンシを短縮するか、ログからの読み取り (I/O) の量を減らすことができるソリューションが切実に必要とされています。アプリ/ジョブ側で実行する必要がある作業がある可能性があることは認識していますが、この遅延とログからの無駄なスキャンを支援するために実行できるレプリケーション構成内に何かありますか?

どんな助けでも大歓迎です。ありがとうございました。

4

0 に答える 0