2013-12-11 167 views
1

在我的工作區域,我們在全國範圍內有100多個MS SQL數據庫,我們需要將數據查詢返回到單個SQL數據庫。我們可以通過使用OpenRowSetLinkedServer來做到這一點。但是應該使用哪一個。Openrowset與鏈接服務器

Openrowset是特設的。所以每次調用openrowset時都必須建立連接。這應該會在性能上產生額外的開銷。

另一方面鏈接服務器是持久性的。所以不需要每次建立連接(我猜)。但中央服務器不得不將所有這些鏈接的服務器添加到它。添加這麼多鏈接的服務器是否會對服務器造成負面影響?

底線是爲了連接到每月的很多服務器,這將是更好的方法? openrowset或鏈接的服務器?

+0

在過去,我對使用複雜數據庫的鏈接服務器有不好的經驗。最後,我們必須重寫我們的代碼來一次查詢每個數據庫(多線程)併合並結果。以下是關於鏈接服務器問題的technet文章:http://blogs.technet.com/b/pfelatam/archive/2011/09/07/linked-server-behavior-when-used-on-join-clauses.aspx –

+0

如果我只在連接的服務器上使用'Operquery'會怎麼樣? – th1rdey3

回答

0

我記得,OpenRowSet在遠程服務器上執行查詢,而Linked Server在本地執行連接。 (比'連接'關注更耗費資源)。