我正在尝试查询存在于不同服务器/数据库等中的表。
从'serverdd \ foobar'.mydatabase.mytable
中选择前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
如果这些元素中的任何一个包含无效字符(如反斜杠),则需要将该元素括在方括号中。双引号通常也有效,但可以关闭;单引号永远不会有效。