2013-03-22 59 views
3

可以在我的數據庫服務器上創建另一個服務器數據庫表視圖嗎?我可以在其他數據庫服務器上創建數據庫服務器視圖

比方說,你有一個叫Testing上數據庫,您有其他數據庫上server2Testing2。是否有可能在的數據庫Testing中創建Testing2的表Table2的視圖?

此外,我使用SQL Server 2008

請讓我知道如果您有任何問題。

謝謝,

+1

取決於您正在使用的**數據庫產品**(SQL只是查詢語言 - **不是**產品....) – 2013-03-22 15:17:02

+0

我正在使用SQL serer – Huzaifa 2013-03-22 15:18:36

回答

4

是的,你可以。首先,您需要使用類似sp_addlinkedserver的鏈接連接到其他服務器。

然後您可以使用4部分命名來訪問數據。這裏是一個例子:

create view v_server1_master_tables as 
    select * 
    from server1.master.information_schema.tables; 
3

這可能通過鏈接的服務器。不過,我不鼓勵你根據另一臺服務器的表創建視圖,因爲每次使用此視圖時,整個表都可能從鏈接服務器中選擇 - 優化器可能不知道此表結構發佈任何過濾器。 我在工作中看到過它,沒有人知道大表上的查詢來自哪個數據庫會減慢數據庫的速度,並且它看起來像是在另一個服務器上的somwhere中,在一個簡單的查詢中使用。 至少您應該檢查您的解決方案是否不會導致上述問題。也許有人可以詳細說明優化器在處理鏈接服務器時的行爲方式?

+0

我同意。謝謝。 – Huzaifa 2013-03-22 16:36:31

相關問題