2015-03-18 56 views
0

我想查詢存在於不同的服務器/數據庫等表中選擇表如何從不同的服務器具有在反斜槓名

選擇前1 *從「serverdd \ foobar'.mydatabase。 MYTABLE

我的問題是,我在服務器名稱反斜線..

那我怎麼寫這樣的服務器名稱的查詢。我曾附上單引號,但沒有奏效。我得到「不正確」的語法錯誤。

+1

'[serverdd \ foobar] .mydatabase.mytable' – Malk 2015-03-18 22:40:22

+0

我得到一個錯誤無效的對象名稱 – 2015-03-18 22:43:53

+2

是的,theres沒有模式。 DBO? '[serverdd \ foobar] .mydatabase.dbo.mytable' – Malk 2015-03-18 22:45:07

回答

1

首先你需要添加「鏈接服務器」。這裏是一個鏈接:https://msdn.microsoft.com/en-gb/library/ms190479.aspx

也許它會是這個樣子(雖然我平時使用的GUI):

EXEC sp_addlinkedserver 
    @server=N'serverdd_foobar', 
    @srvproduct=N'', 
    @provider=N'SQLNCLI', 
    @datasrc=N'serverdd\foobar'; 

當您鏈接你給它一個友好的名稱的服務器。在上面的示例中,我將它命名爲不帶反斜槓。您可以使用此名稱訪問服務器:

SELECT * FROM serverdd_foobar.database.schema.table 

如果這些元素包含無效字符(如反斜線)你將要附上該元素在方括號。雙引號通常也起作用,但可以關閉;單引號將永遠不會工作。