2

レポート目的で、本番データをデータ ウェアハウスに転送しようとしています。SSIS for Azure and Hybrid Data Movementの「フェデレーションへのインポート」セクションに従ってみましたが、フェデレーションからデータ ウェアハウスにデータを移動する必要があります。また、 SQL Server Centralで適切なリソースを見つけましたが、データ フロー ウィザードでフェデレーション テーブルを表示できないようです。また、ODBC (SQL Azure DB に必要な接続タイプ) ソース ウィザードの SQL コマンドに Use FedDB ステートメントを追加することもできません。

4

1 に答える 1

2

垂直シャーディング (複数のインスタンスにまたがる同じスキーマ) の仮定に基づいて、プロトタイプ パッケージを構築しました。

ここで行う必要があるのは、ADO.NET 接続マネージャーを作成し、プロバイダーとして [.Net Providers\Odbc Data Provider] を選択することです。

接続文字列は次のようになります。あなたが提供した最初のリンクが示すように、IP を承認したことと、Database

Driver={SQL Server Native Client 11.0};Server=tcp: abcdefghi.database.windows.net;Database=romulus;

制御フロー

制御フロー

フェデレーション内のすべてのインスタンスを列挙できるように、Foreach ループ コンテナーをセットアップしました。ループを通過するたびに、現在のインスタンスへの接続文字列が生成されます。SourceConnectionStringそれを文字列型の変数に割り当てます。

次に、ADO.NET 接続マネージャーで式を設定して、ConnectionStringプロパティをに設定します@[User::SourceConnectionString]。これにより、列挙中に接続が実際に変更されることが保証されます。

データフロー

データ フローは、ソースと宛先を取り巻くメタデータを厳密に監視することで、そのパフォーマンスを導き出します。対処する必要があるテーブルごとにデータ フローを作成する必要があります。複数のデータ フローを並行して実行するための戦略がありますが、ここでは取り上げません。Andy Leonard が、あなたが既に見つけた彼の Stairway to Integration Services シリーズでそれをカバーしていると確信しています。

リンクされたSSCの記事にあるように、私は私のものを構造化しました

データフロー

ソース コンポーネントには、基本的に OLE DB または ADO.NET コンポーネントがあります。Azure を使用しているため、「ADO NET ソース」コンポーネントが必要です。

ルックアップ コンポーネントは、OLE DB 接続マネージャーまたはキャッシュ接続マネージャーを使用できます。オンプレミスの (私のスクリーンショットではスペルが間違っています) インスタンスにプッシュしているので、OLE DB 接続マネージャーを使用してルックアップを処理できます。

実際、ソースとフェデレーションによる列挙を除いて、この回答と記事の内容にはほとんど違いはありません。

于 2013-12-12T04:37:04.333 に答える