为SQL Server创建别名以在查询中使用

时间:2017-03-26 03:10:13

标签: sql sql-server instance alias server-name

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

我想为服务器提供别名'InstanceName'。我是在Configuration Manager中完成的。当我连接到服务器时,我可以使用该别名进行连接。但是,当我想完全限定查询中的对象时(例如,从InstanceName.Database.dbo.Table中选择*),它不起作用。它说它无法在sys.servers中找到该服务器。为什么是这样?它似乎在连接后没有将别名带到查询中。

谢谢!

1 个答案:

答案 0 :(得分:1)

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'