如何引用名称中带有反斜杠(\)的sql server? [英] How to reference a sql server with a backslash (\) in its name?
问题描述
给出:
- 一个SQL Server命名为:
DevServerA
- 另一个名为:
DevServerB\2K5
- One SQL Server is named:
DevServerA
- Another is named:
DevServerB\2K5
问题:
在DevServerA
中,如何编写引用DevServerB\2K5
的查询?
From DevServerA
, how can I write a query that references DevServerB\2K5
?
我尝试了一个示例虚拟查询(从DevServerA
运行):
I tried a sample, dummy query (running it from DevServerA
):
SELECT TOP 1 *
FROM DevServerB\2K5.master.sys.tables
我得到了错误:
Msg 102, Level 15, State 1, Line 2
Incorrect syntax near '\.'.
但是,我知道我的语法几乎是正确的,因为另一种方法可行(从DevServerB\2K5
运行此查询):
However, I know my syntax is almost correct, since the other way around works (running this query from DevServerB\2K5
):
SELECT TOP 1 *
FROM DevServerA.master.sys.tables
请帮助我弄清楚如何从DevServerA
引用DevServerB\2K5
.谢谢.
Please help me figure out how to reference DevServerB\2K5
from DevServerA
. Thanks.
推荐答案
在4个部分的名称中,第一部分是链接服务器的名称(即元数据对象),而不是服务器的名称(即a).主机名).因此,您可以命名链接服务器FOO并将其指向主机BAR或实例FOO \ BAR.即使您将链接的服务器对象命名为包含斜杠,您仍然可以通过简单地引用名称将其以多部分名称使用:
In 4 part names, the first part if the name of a linked server (ie. a metadata object), not the name of a server (ie. a host name). So you can name your linked server FOO and have him point at the host BAR, or at the instance FOO\BAR. And even if you name the linked server object to contain a slash, you can still use it in a multi-part name by simply quoting the name:
SELECT TOP 1 *
FROM [DevServerB\2K5].master.sys.tables
这篇关于如何引用名称中带有反斜杠(\)的sql server?的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!