2011-12-29 17 views
2

私は1m +レコードのデータセットを持っています。 注文に応じて複数のファイルにクエリを出力する必要があります。クエリ結果からSQLで複数のファイルを書き込むにはどうすればよいですか?

例データセット:

ID  StoreName  StoreChain MoreData........ 
1  walmart NY  Walmart  ... 
2  Walmarty NJ Walmart  .... 
3  Target NY  Target  .... 
4  Costco NY  Costco  .... 

クエリ例

Select StoreName, SotreChain,moreData order by StoreName 

は、私は、各店舗名を記述する必要があります。今日、私はCLRのSPを使用し

私は、各チェーンのためのファイルを作成する必要が

Select StoreName, StoreChain,moreData order by StoreChain 

(4個のファイル)、(3個のファイル)、それが正常に動作しますが、1000個のファイルについて少し遅い(1時間ですそれぞれ200〜400行)

純粋なT-SQLソリューションがあるかどうかを知りたい場合は、必要に応じてコマンドシェルを使用できます。

であり、ファイルを作成するたびにログテーブルに書き込む必要があります。

答えて

3

SQL Server Integration Services(SSIS)パッケージを使用するのが最善のソリューションだと思います。ビジネスインテリジェンス開発スタジオ(BIDS)を使用してこれを設計できます。

これを使用すると、ソースとフラットファイルとしてT-SQLをクエリの宛先として指定できます。

SSISパッケージを定期的に実行するようスケジュールを設定することもできます。

+0

これは機能しますが、テーブルが作成され、消費され、破棄され、ファイルに含まれる魔法列の数が決まります。私は質問にこれを明記していないことを知っているので、終わりまでにあなたの回答を受け入れるでしょう。 – vaquito

1

私はサメに同意します。 SSISパッケージを使用してこれを実行する必要があります。ここでは、チュートリアルのカップルへのリンクがあります:あなたは、巨大なテーブルからデータをインポートするSSISパッケージを設定することができますツールを使用する方法を見つけ出す

1分以内に他の人に大量のデータを処理する予定がある場合は、このオプションをお勧めします。

関連する問題