3

私は2つのAzure SQL dbを持っており、1つのdbから別のdbにデータを転送するSSISジョブを作成しました。データベースには何百万ものレコードがあります

SSIS はオンプレミスでホストされており、PC でパッケージを実行すると、

1 つの azure db から別の azure db にオンザフライでデータを直接コピーするか、1 つの azure db から自分のローカルにデータをフェッチしてから、そのデータを別の azure db にアップロードしますか?

何百万ものレコードがある場合、Azure からローカルへの移動、およびローカルから azure への移動はコストがかかりすぎます。

私は Azure データ同期を認識していますが、私の要件では、特定のデータを転送するために ssis が必要です。また、Azure データ同期には、特定のテーブルのみを同期するオプションがありますか?

4

2 に答える 2

4

ローカル マシンで SSIS パッケージを実行すると、データが宛先データベースに送信される前にマシンに移動されます。

SQL Azure Data Sync で同期グループを構成すると、同期するテーブルを選択できるようになります。

于 2011-11-18T13:50:30.797 に答える
3

SQL Azure Data Sync には、転送する必要があるテーブルだけを選択するオプションがあると確信しています。ただし、転送されるデータを変換するオプションはないと思います。

SSIS に関しては、最初にデータがあなたの施設に送られなければ、転送がどのように可能になるかわかりません。接続を確立する必要があります。最初の SQL Azure との 1 つの接続、次に 2 番目の SQL Azure サーバーとのもう 1 つの接続です。そして、SSIS は最初のストリーム (接続) からデータを取得し、それを 2 番目のストリームにプッシュします。

SQL Azure Data Sync を検討することをお勧めします。これは、シナリオに最適な選択である可能性があります。他のオプションでは、データを最初にオンプレミスに取り込み、次にクラウドに転送する必要があります。

さて、3番目のオプションがあります。ADO.NET と SqlBulkCopy クラスに基づいて単純なワーカーを作成します。ワーカーをクラウドのワーカー ロールに配置し、Azure キューなどでメッセージによってトリガーします。うーん。コピーされるものを完全に制御できるため、これは最良の解決策のように思えます。したがって、すべてのデータは MSFT データセンターに保持されます。つまり、次のことを意味します。

  1. 高速転送
  2. 帯域幅料金なし (3 ~ 2 台の SQL Azure サーバー + 1 台の Worker ロールがすべて同じアフィニティ グループにデプロイされている場合)
于 2011-11-18T13:52:19.020 に答える