嗨,我正試圖讓聰明的想法如何實現這一點。我有一個表T1,其中有一列名爲「服務器」的列,其中包含整個鏈接服務器名稱列表。我想查詢每個鏈接的服務器上的一些表,並使用結果來填充此表的其他列,例如DB_Nmaes。T-SQL使用鏈接的服務器查詢結果來填充本地表格
理想的結果表之後會是這樣
T1我能想到的
Servers DB_Names Datafile_Size, ….
S1 D1 2M S1 D2 3M S1 D3 5M S2 D1 3M S2 D2 6M . . .
一種方法是遍歷整個表T1,構建一個動態SQL在每個循環查詢相應的鏈接服務器並插入到其他字段的DB_Names和Datafile_size。 但我試圖避免這樣做,因爲我在該列中有很多鏈接的服務器行。有沒有什麼辦法可以通過使用基於集合的操作來實現?
謝謝。
[[DB_Names]]是否也與[[Servers]一起開始填充? – squillman 2012-02-28 21:53:06
是的,開始時DB_NAMES AND Datafile_size都是NULL。我們只有包含所有鏈接服務器名稱的服務器列作爲數據。我想在每行上查詢類似於S1.sys.master.databases的內容,所以我期待的結果就像現在在T1中顯示的一樣。謝謝 – user1238837 2012-02-28 21:55:36
還有一件事,你只對列表中的數據庫感興趣,並不一定是該服務器上的所有數據庫? – squillman 2012-02-28 21:57:21