我有一台物理服务器运行两个SQL Server实例,一个是2008 R2(端口1433),另一个是普通2008(端口1444)。
我有一个链接服务器设置,以下查询从2008 R2开始运行正常
SELECT *
FROM [LINKEDSERVER,1444].[DBNAME].[dbo].[TABLENAME]
当我尝试运行此查询时,我收到错误,无法绑定多部分标识符。
SELECT [LINKEDSERVER,1444].[DBNAME].[dbo].[TABLENAME].[COLUMNNAME]
FROM [LINKEDSERVER,1444].[DBNAME].[dbo].[TABLENAME]
有谁能请说明这里发生的事情?我假设我有一个简单的语法错误或者其他什么,但我能找到的所有例子都只是Select *
,而这不是我需要的。
答案 0 :(得分:0)
4级是您可以选择的最深级别,但如果您想在上述情况中引用特定列,则可以使用表别名。在from空间中的表名后面加一个空格,然后是一个字母或缩写的缩写。您可以在查询中引用该别名来缓解您的问题。
SELECT abrv.[COLUMNNAME]
FROM [LINKEDSERVER,1444].[DBNAME].[dbo].[TABLENAME] abrv
如果您要通过链接服务器访问它,另一种替代方法是实际为表(https://msdn.microsoft.com/en-us/library/ms187552.aspx)创建同义词并使用它,就像它是本地表一样。