2009-04-16 14 views
0

私のクライアントが雇ったコンサルタントは、csv形式のSQL Server 2000データベースの1つにあるすべてのテーブルの最初のn行(約30または40)を、最初の行の名前。データベースには約100個のテーブルがありますので、私はこれを手動で実行したくありません。SQL Server全体のデータベースcsvのエクスポート

すぐにこれを実行できるスクリプト、ツール、または他の方法をお勧めする人はいますか?

答えて

1

SQL Server 2000のDTS(データ変換サービス)を使用して、すべてをExcelシートにエクスポートできますか?いいえ。

マルク・

+0

Duh、これは間違いなく最も簡単な解決策です。私はcsvエクスポートをスクリプト化する必要があると思っていましたが(これは一度に1つのテーブルでしか実行できませんが)、xls経由で行くと十分に良いでしょう。 – Cruachan

+0

利用可能なツールの海、え? ;-) –

3

これは現在データベースの各テーブルからあなたのトップ30の記録を与えるEnterprise Managerから

EXEC sp_MSForEachTable 'SELECT top 30 * from ?' 

これを試してみてください。結果はテキストファイルに出力できます

+0

+1は問題は解決しませんが(エクスポートの列タイトル)便利です – Cruachan

+0

ああそうです!グリッドではなくテキスト(Ctrl + T)で結果を取得するようにQuery Analyzerを構成すると、列のタイトルが取得されます。試してみてください – Rad

1

最初の30行は、関連する行でない場合は役に立たなくなります。テストデータとして使用しない場合(そして、顧客テーブルに異なる顧客IDがある場合、注文テーブルの最初の30行には入力できません)、なぜスキーマを与えないのですか?

開発目的で使用するために誰かに実データを提供することにも注意してください。

+0

ああ、通常は本当に正しいですが、このケースではコンサルタントは別の会社でも同じ(大規模な)組織の一部ですので、セキュリティ上の問題は発生しません。それはまた、直接的な要求が私の通常の判断を覆すような政治的状況の一つです。 – Cruachan

関連する問題