0
我想查詢存在於不同的服務器/數據庫等表中選擇表如何從不同的服務器具有在反斜槓名
選擇前1 *從「serverdd \ foobar'.mydatabase。 MYTABLE
我的問題是,我在服務器名稱反斜線..
那我怎麼寫這樣的服務器名稱的查詢。我曾附上單引號,但沒有奏效。我得到「不正確」的語法錯誤。
我想查詢存在於不同的服務器/數據庫等表中選擇表如何從不同的服務器具有在反斜槓名
選擇前1 *從「serverdd \ foobar'.mydatabase。 MYTABLE
我的問題是,我在服務器名稱反斜線..
那我怎麼寫這樣的服務器名稱的查詢。我曾附上單引號,但沒有奏效。我得到「不正確」的語法錯誤。
首先你需要添加「鏈接服務器」。這裏是一個鏈接: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
如果這些元素包含無效字符(如反斜線)你將要附上該元素在方括號。雙引號通常也起作用,但可以關閉;單引號將永遠不會工作。
'[serverdd \ foobar] .mydatabase.mytable' – Malk 2015-03-18 22:40:22
我得到一個錯誤無效的對象名稱 – 2015-03-18 22:43:53
是的,theres沒有模式。 DBO? '[serverdd \ foobar] .mydatabase.dbo.mytable' – Malk 2015-03-18 22:45:07