2012-01-13 17 views
1

MS SQL 2008 R2のすべてのデータをアプリケーションGUI(SSMSではなく)を介して自動的に保存する方法を探しています。すべてのテーブルのすべてのデータをXMLにエクスポートするには、テーブル名が 'Params'で始まる 'for XML Auto'を使用します。MS SQL Server 2008 R2から単一のXMLファイルにデータをダンプする

EXEC sp_MSforeachtable 
@command1 = N'CAST(select * from ? for xml auto)', 
@whereand = N'and o.name like ''Params%''') AS XML) 

はうまく選択を行いますが、問題は、すべてのテーブルデータは、しかし、私は、単一のXMLを作成したい、別のXMLストリームをもたらすことです。

どうすれば結果セットを1つにまとめることができますか? sp_MSforeachtableをコピーして変更するか、標準SPを使用する方法はありますか?できるだけ早くこの選択をしたいので、XMLを一時テーブルに選択してからそれらを1つのXMLストリームに連結しないようにしたいと思います。

+0

アプリケーション設定はGUIを介してXMLに保存されるため、必要に応じて別のシステムにコピーすることができます。開発、テスト、本番環境の間でコピーされます。これは、システムのオペレータが行う必要があるものであり、セキュリティ上の理由のためにデータベースに直接アクセスすることができないし、そうでないこともありません。 – Daniel

答えて

2

このブログ記事をチェックしてください:Selecting the entire Database as XML String。あなたの質問に答えることを願っています。

+0

一時テーブルがどこに使用されているか分かりません。私のソリューションは、1つの選択を動的に構築し、それを実行します。一時テーブルはありません。最初のコードスニペットは、プロセスをテストするためのデータを含むテーブルを作成するだけです。 2番目のスニペットは、あなたの質問に対する実際の解決策です。 –

+0

あなたが正しいです、私は自分のコメントを削除しました。助けてくれてありがとう。 – Daniel

関連する問題