我能够使用this method为链接服务器创建别名。链接服务器时,我指定了默认目录,因此现在我可以跳过模式和数据库名称来执行远程SP。这有效:

EXEC REMOTE_SERVER_ALIAS...REMOTE_STORED_PROCEDURE


但是由于某些原因,我无法对简单选择使用相同的方法:

SELECT * FROM REMOTE_SERVER_ALIAS...REMOTE_TABLE


尝试执行此操作将引发错误:


指定了无效的架构或目录


任何想法如何使其工作?

附言我知道OPENQUERY方法,但由于其局限性而不使用它

最佳答案

我认为您必须为表指定架构,因此必须使用该表的完整路径:

Select * From [Remote_Server_Alias].[Database_Name].[Schema].[Table_Name]


我知道您已经为链接服务器指定了默认目录,但是无论如何您可能必须将其包括在其中。无论如何,您始终可以尝试保留一个或另一个,但是最后一次使用链接服务器时,我相信这就是我必须引用该表的方式。

关于sql-server - 从链接服务器的默认目录中选择,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/21317921/

10-11 17:34