SQL Server 2005 データベースのリアルタイム コピーを作成するにはどうすればよいですか?
-
25-09-2019 - |
質問
複数の大陸で使用される Web アプリがあります。大規模なレポートを実行すると、基礎となるトランザクション DB がロックアップします。したい:
- SQL Server 2005 データベースをリアルタイムでレポート DB に作成する
- すべてのレポートをレポート DB に送信します
理論的には、これにより挿入と更新のトランザクション ロックが防止されます。レポート DB が一時的にロックされても、トランザクションが継続している限り問題ありません。レポート DB は、負荷が軽いときに新しいトランザクションを受け取ることができます。トランザクション DB のほぼリアルタイムのコピーを維持する最善の方法は何ですか?レプリケーション、ミラーリング、またはその 2 つの組み合わせを使用する必要がありますか?どのような一般的なガイドラインに従う必要がありますか?
ありがとう!
解決
使用 SQLサーバーのレプリケーション この種のアーキテクチャを実装するために。例えば。メイン DB サーバーからレポート サーバーにデータを複製します。完全にリアルタイムではありませんが (ほとんどのシステムはリアルタイムではありません)、非常に近いものになる可能性があります。
SQL Server レプリケーションにはいくつかの種類があり、おそらく必要になるでしょう。 サーバーからサーバーへ。 についてはこちらの記事もご覧ください データウェアハウスとレポート作成. 。ここでは、あなたが直面している正確なシナリオと目標について説明します。
設計上、トランザクションレプリケーションは、このシナリオの主要な要件に対処します。
- トランザクションの一貫性
- 低遅延
- 高スループット
- 最小限のオーバーヘッド
他のヒント
ミラーリング = DB 全体、レプリケーションはサブセット いつもの あなたが「公開」したものに基づいて
- ミラーリングの設定は簡単ですが、次のことが必要になります。 レポートを可能にするスナップショット.
- オンライン書籍の例に基づいています レプリケーション時
この場合、ほぼリアルタイムが必要な場合はレプリケーションを使用します。レポートに数分の遅れが生じる可能性がある場合、またはレポートを一定期間「静的」にする必要がある場合は、ミラーリングを検討します。