如何引用名称中带有反斜杠(\)的sql server? [英] How to reference a sql server with a backslash (\) in its name?

查看:873
本文介绍了如何引用名称中带有反斜杠(\)的sql server?的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

给出:

  • 一个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屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆