为 SQL 服务器创建别名以在查询中使用

Create alias for SQL server to use in query

我的 SQL 服务器实例名称的格式为:'My-Server\InstanceName'

我想给服务器起别名'InstanceName'。我在配置管理器中这样做了。当我连接到服务器时,我可以使用该别名进行连接。但是,当我想完全限定查询中的对象时(例如 select * from InstanceName.Database.dbo.Table),它不起作用。它说在 sys.servers 中找不到该服务器。为什么是这样?它似乎在连接后没有将别名带入查询。

谢谢!

InstanceName 和别名是两个不同的东西。

本地服务器使用Database.dbo.Table

要连接到另一个服务器(或另一个实例),您应该添加链接服务器 https://docs.microsoft.com/en-us/sql/relational-databases/linked-servers/linked-servers-database-engine.

通常你不需要任何别名,但如果你真的想这样做,请使用示例:

EXEC sp_addlinkedserver     
   @server=N'S1_instance1',   
   @srvproduct=N'',  
   @provider=N'SQLNCLI',   
   @datasrc=N'S1\instance1'