2012-01-13 66 views
1

我們正在尋找一種方法,通過我們的應用程序GUI(不是SSMS)自動保存MS SQL 2008 R2中的所有數據。我們希望使用'for XML Auto'將表中的所有數據導出到單個XML,其中表名以'Params'開頭。將數據從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。

我將如何去結合結果集合成一個?我應該複製並修改sp_MSforeachtable還是有辦法使用標準SP?我想盡可能快地做出選擇,所以我想避免將XML選擇到臨時表中,然後將它們連接成單個XML流。

+0

因爲應用程序設置將通過GUI保存到XML中,所以如果需要它可以複製到另一個系統,主要是在開發,測試和生產環境之間複製。這是系統操作員必須做的事情,不是,由於安全原因,他們不能也不會直接訪問數據庫。 – Daniel 2012-01-16 10:22:34

回答

2

看看這個博客文章:Selecting the entire Database as XML String。我希望它能回答你的問題。

+0

我不確定你在哪裏看到正在使用的臨時表。我的解決方案動態構建一個選擇然後執行。沒有涉及臨時表。第一個代碼片段只是創建一些包含數據的表來測試過程。第二個片段是您的問題的實際解決方案。 – 2012-01-23 19:58:05

+0

你說得對,我刪除了我的評論。謝謝您的幫助。 – Daniel 2012-02-01 08:59:37

相關問題