有人可以为我指出这种(对我来说很奇怪)行为的相关 BOL 信息吗?
为了快速查询,我必须加入同一张表(相同的数据库名称、差异服务器)的 prod 和 staging 副本。所以我只需要一个完全合格的加入。
这一个错误:
SELECT top 10 *
FROM [172.26.196.105\Staging].[DbName].[dbo].[TableName]
这个有效:
SELECT top 10 *
FROM [USCASQL01\STAGING].[DbName].[dbo].[TableName]
编辑:澄清......显然不是连接,这些选择只是我组装我的暂存数据库/表的完全限定名称。这不是链接服务器,而是我连接的服务器。
当然,这些指的是同一个例子。我使用了 IP 地址\InstanceName,因为它显示在我的对象资源管理器中,它返回错误 - “在 sys.servers 中找不到服务器 'IP 地址\InstanceName'。” 确实,sys.servers 存储了计算机名\InstanceName,它可以工作。
为什么一个工作而不是另一个?IOW,当它在对象资源管理器中解析得很好时,为什么它不能解析 TSQL 中的 IP/实例名称?顺便说一句,我们经常将 IP 存储在 sys.servers 中,而这个恰好不是。
此外,我还记得 SQL Server7(早在过去),这是一个允许您为 ip 创建友好名称别名的实用程序。现在找不到了,还有吗?
TIA