如何从名称中具有反斜杠的其他服务器中选择表

时间:2015-03-18 22:36:48

标签: sql sql-server tsql

我正在尝试查询存在于不同服务器/数据库等中的表。

从'serverdd \ foobar'.mydatabase.mytable

中选择前1 *

我的问题是我在服务器名称中有反斜杠..

那么我该如何为这种服务器名称编写查询。我用单引号将它括起来,但它没有用。我收到“错误的”语法错误。

1 个答案:

答案 0 :(得分: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

如果这些元素中的任何一个包含无效字符(如反斜杠),则需要将该元素括在方括号中。双引号通常也有效,但可以关闭;单引号永远不会有效。