3

合計で約 1.0 TB の 12 のデータベースがあり、それぞれが SQL 2005 Enterprise を実行している異なる物理サーバー上にあり、すべてまったく同じスキーマを使用しています。このデータを別の単一データベースにオフロードして、最大 1 時間の待ち時間で他の目的 (レポート、Web サービスなど) に使用できるようにする必要があります。

また、これらのサーバーはすべて同じラック内にあり、ギガビット接続で接続されており、データベースへの挿入が最小限 (平均 2500 レコード/時間) であることにも注意してください。現在の方法は非常に不安定です。データは現在、12 台のサーバーのそれぞれから別のサーバー上のデータベースに複製 (SQL Server トランザクション レプリケーション) されています (そうです、12 台の異なるサーバーからの 12 個の異なる従業員テーブルが別のサーバー上の単一の従業員テーブルに作成されています)。サーバ)。

すべてのテーブルには主キーがあり、行はすべてのテーブルで一意です (各テーブルには施設 ID があります)。

私のオプションは何ですか?これを行う簡単な方法が必要です。

4

3 に答える 3

2

多くの場所で使用されている SQL Server トランザクション レプリケーションの問題は何ですか? 各データベースに FacilityID が設定されているように見えますか?

于 2010-03-29T13:04:46.927 に答える
1

扱っているテーブルの数によっては、各テーブルからデータを移動する SSIS ETL パッケージをセットアップする方が簡単な場合があります。パッケージ構成をセットアップし、スキーマが同じであれば、すべてのデータベースに対して同じパッケージ セットを使用できるはずです。10 ~ 20 個を超えるテーブルがある場合は、おそらく ETL パッケージを実行しないか、それらの作成が何らかの方法で自動化されていることを確認します。

于 2010-03-29T20:46:04.033 に答える
0

Enterprise Editionがあり、データサイズが同じスキーマであるため、1つのアプローチは、宛先サーバー上のさまざまなソースごとに1つずつ、Partitonedテーブルを使用することです。たとえば、[FacilityID]列のパーティションキーに使用できます。これがソースごとに一意であると仮定し、パーティション間でデータを移動するために使用される通常のデータ移動操作の直後に、これにより、後のように聞こえる統合テーブル(パーティション化)が得られます。

于 2010-03-29T13:16:03.147 に答える