如何通过 TSQL 返回连接名称?这可以通过属性窗口在 SSMS 中看到。例如,如果您有一台名为“SRVR0001”的机器的 DNS 别名“ProductionServer”,并且还为此名为“Live Production”的本地服务器注册,然后
1) 打开一个提供服务器名称“ProductionServer”的新查询,然后连接名称将为“ProductionServer” 2) 右键单击本地注册并选择新查询,连接名称将为“Live Production”
当然,在这两种情况下select @@SERVERNAME
都会返回 SRVR0001。
这与这些问题相似但不同:
https ://stackoverflow.com/questions/16088151/how-to-find-server-name-of-sql-server-management-studio
https://stackoverflow.com/问题/129861/我如何查询当前 sql 服务器数据库实例的名称
我预计答案很可能是这是 SSMS 持有的本地属性,因此不能由在 SQL Server 上运行的 TSQL 返回。
用户sepupic留下的评论是正确的:
我可能希望看到的唯一地方是与“连接”相关的 DMV,例如,如果 SQL Server 跟踪用于连接到它的连接名称(类似于它跟踪客户端主机名的方式,请设置选项使用等)。
但是,它不存在于我检查的任何主要内容中:
sys.dm_exec_connections
sys.dm_exec_requests
sys.dm_exec_sessions
这是有道理的,特别是对于客户端必须在创建连接之前翻译这些名称的注册。