SQL Server 2012とトランザクションレプリケーションを使用するアーキテクチャについて議論しています。アイデアは、レポートアクティビティをセカンダリサーバーにオフロードし、レポートサーバーに履歴データを保持することにより、レプリケートされたものを含めたり除外したりできるようにすることです。
いくつかの質問:
ありがとう!
データを移動するときに、トランザクションレプリケーションでプライマリサーバーに負荷がかかりますか(私の一般的な用語の使用を許してください)。
パブリッシャーに影響がありますが、トランザクションレプリケーションスキーマの設定方法によっては非常に小さくなる場合があります。問題になる可能性のある1つの大きな問題は、ローカルディストリビューターがある場合、特にプッシュ構成で複数のサブスクライバーにレプリケートされる大量のパブリケーションを処理している場合です。その場合、サーバーへの影響を軽減する1つの方法は、リモートディストリビューターを用意することです。
また、トランザクションレプリケーションを使用した設計により、ログリーダーエージェントはパブリッシャーのトランザクションログを読み取ります。結果のデータの代わりにストアドプロシージャの実行を複製するなど、この影響を減らすための多くの戦略があります。
2.サブスクライバーサーバーがダウンしても、プライマリは引き続き機能しますか?
はい、発行者は引き続き機能します。複製を取得するコマンドはキューに入れられます。保持が設定されている期間とサブスクライバーが切断されている期間によっては、サブスクリプションを再初期化する必要がある場合があります。
私はこれをお勧めします TechNetリファレンス:トランザクションレプリケーションパフォーマンスの向上 。そのドキュメントには、考慮すべきいくつかの優れた戦略があります。
1。トランザクションレプリケーションでは、データを移動するときにプライマリサーバーに負荷がかかりますか(私の一般的な用語の使用を許してください)。
それが依存する多くの要因-
パブリッシャーの地理的な場所-2つのリージョン間の接続の制限によるサブスクライバーサーバー(地理的に分散している場合)。
公開する記事の数とデータ量について。何らかの理由でアーティクルのサブスクリプションが期限切れになる場合は、スナップショットによってサブスクライバーを再初期化する必要があり、データの量がそれに影響することに注意してください。 必要なものだけを複製します。データベース全体を複製しないでください。
パブリッシャーによって大量のトランザクションが生成されるため、サブスクライバーが同じ地域や同じデータセンターでもデータを数時間遅らせるのを見てきました。
簡潔に言うと、サブスクライバーサーバーで遅延が発生し、パブリッシャーサーバーでのアクティビティの量、およびディストリビューションデータベースが同じサーバー上にあるか別のサーバー上にあるかに応じて、パブリッシャーで一部または重いアクティビティが発生します(プライマリ-レプリケーションの正確な用語ではありません)サーバー。
2。サブスクライバーサーバーがダウンしても、プライマリは引き続き機能します
はい、サブスクライバーがダウンしても、プライマリに影響はありません。ただし、レプリケーションジョブが失敗し、セットアップした有効期限ポリシーによっては、スナップショットを使用してサブスクライバーを再初期化する場合があります。