web-dev-qa-db-ja.com

大規模なデータベースでは、トランザクションレプリケーションのスナップショットに時間がかかりすぎる

大規模なデータベース(200GB)のトランザクションレプリケーションを確立したい。しかし、パブリッシャーを作成してスナップショットエージェントを起動すると、非常に時間がかかり、次のメッセージが表示されます

プロセスは実行中であり、サーバーからの応答を待っています

enter image description here

問題は、スナップショットフォルダーのサイズを確認すると、大きくなっていることがわかります。しかし、遅すぎます。

enter image description hereenter image description here

これについて何か考えはありますか?またはレプリケーションを行う別の方法?より詳細な警告またはエラーメッセージを見つけるにはどうすればよいですか?

追伸私のデータベースには、データベースのサイズの98%を占める画像用の2つのテーブルがあります。私がそれらを私の出版物に含めない場合、すべてがうまくいきます。しかし、それらを含めると、問題に直面します。

5

はい、スナップショットを介して大規模なデータベースを初期化すると、非常に時間がかかり、時間がかかる可能性があります。ケースに適している場合は、まずデータベースのコピーをターゲットマシンに復元する必要があります。

サブスクリプションの設定で、[バックアップファイルからの初期化を許可]を選択します。

レプリケーションを設定するためのユーザーインターフェイスには制限があるため、UIツールに依存するのではなく、スクリプトを作成する必要があります。これに関するブログ投稿があります:

http://blogs.msdn.com/b/repltalk/archive/2010/03/16/deep-dive-on-initialize-from-backup-for-transactional-replication.aspx

Msdnからの投稿には、コードサンプルが含まれています。

exec sp_addsubscription @publication = N'Repl2000', …..
    @sync_type = N'initialize with backup', @backupdevicetype='Disk',
    @backupdevicename='C:\Repl2000_RestoreThis.bak'--the last backup used to restore on the subscriber 
go
exec sp_addpushsubscription_agent …….
go

この記事には、トラブルシューティングのヒントも含まれています。

5
RLF

追伸私のデータベースには、データベースのサイズの98%を占める画像用の2つのテーブルがあります。私がそれらを私の出版物に含めない場合、すべてがうまくいきます。しかし、それらを含めると、問題に直面します。

これらの2つのテーブルについては別のパブリケーションを作成し、残りのテーブルは別のパブリケーションで作成することをお勧めします。このようにして、これら2つのテーブルに問題が発生した場合でも、データセット全体に影響はありません。

レプリケーションを行う別の方法?

@RLFがバックアップからレプリケーションを初期化すると述べたように。以下のような別のアプローチがあります。

Kendal Van Dykeが2番目のアプローチについてブログで Reduce Transactional Replication Synchronization Time by Applying Snapshots手動で which優れており、時間と命の節約になります。少し手作業のプロセスですが、私はそれとwin-winのアプローチを扱いました。

より詳細な警告またはエラーメッセージを見つけるにはどうすればよいですか?

詳細ログを有効にするには、より詳細なログを確認するレプリケーションエージェントジョブのRun Agentステップに2つのパラメーター値を追加する必要があります。

-OutputVerboseLevel [0|1|2]
-Output [Full Output Path and File Name]

OutputVerboseLevelパラメーターは、3つの整数値(0、1、または2)のいずれかを受け入れます。

  • 値0は、エージェントの内部コマンドに詳細なログがないことを意味しますが、
  • 値が1の場合、ロギングは最小限になり、最後に
  • 値2は、関連するレプリケーションエージェントジョブから期待できる最も詳細なログを示します。
2
Kin Shah