最小遅延で一つに多くの異なるデータベースからのデータを統合
質問
私は、SQL 2005のEnterpriseを実行している別の物理サーバー上におよそ1.0TB、それぞれ合計12個のデータベースを持っています。私たちは1時間の待ち時間の最大値で、他の目的(レポート作成、Webサービス、電気ショック療法)のために使用できるように、独立した単一のデータベースにこのデータをオフロードする必要があります。
また、ギガビット接続によっておよびデータベースへの挿入は、(平均2500の記録/時間)最小限であることを接続し、これらのサーバーは、同じラック内のすべてであることに留意されたいです。 現在の方法は非常にフレーク状です:データは現在、別の上の単一の従業員テーブルに別のサーバ(はい、12台の異なるサーバーからの12個の異なる従業員テーブル上のデータベースに12台のサーバのそれぞれから(SQL Serverのトランザクションレプリケーション)に複製されていますサーバー)。
すべてのテーブルは主キーと行が(FacilityIDが各テーブルにあります)すべてのテーブル全体で一意でいます。
私のオプションは何ですか? は、これを行うための簡単な方法がなければなりません。が
解決
SQL Serverのトランザクションレプリケーションでの問題は、多くの場所では、それを使用、何ですか?それは各データベースでFacilityIDと、うまく設定されているように見えますか?
他のヒント
あなたがテーブルのそれぞれからデータを移動し、いくつかのSSISのETLパッケージを設定する方が簡単かもしれません、それを扱っているどのように多くのテーブルに応じて。あなたは、パッケージ構成を設定し、スキーマが同じである場合は、すべてのデータベースのためのパッケージの同じセットを使用することができるはずです。あなたは以上の10から20のテーブルを持っている場合、私はおそらくどちらかのETLパッケージはしないだろうか、私はそれらの作成が何らかの形で自動化されたことを確認するだろう。
は、Enterprise Editionおよびデータサイズで、あなたが言及した同じスキーマ、1つのアプローチはPartitonedテーブルを使用することができ、移行先サーバーで異なるソースのそれぞれについて、1、例あなたはパーティション・キーのために使用することができますが、[持っていたようあなたは普通のデータは、パーティション間でデータを移動するareused移動操作後に、これはあなたが後にあるようなサウンド(分配)あなたの連結テーブルを与えるだろう。
、これは各ソースのunqiueであると仮定すると述べFacilityID]カラム