还有另一个类似的问题,最常见的答案是使用CONNECTIONPROPERTY('local_net_address')。 Microsoft文档说,这将返回“目标”地址。因此,当我使用AG侦听器进行连接时,无论我实际连接到哪个SQL Server,local_net_address都会返回AG侦听器IP。那么在使用AG侦听器时如何获取SQL Server IP地址?
这将在安全的环境中运行,并且xp_cmdshell不是一个选择。
答案 0 :(得分:4)
使用AG侦听器时的SQL Server IP地址
一台服务器不只有一个IP地址。例如,您用于连接的AG侦听器IP是服务器的附加IP地址。它通常与服务器可能具有的 other IP地址一样好。
在最常见的配置中,SQL Server对服务器的IP完全不知道。 SQL Server只是侦听端口1433 所有 IP。
您可以查询服务器名称和域,并构造DNS查找以查找与该服务器名称关联的IP:
select DEFAULT_DOMAIN() domain, serverproperty('ComputerNamePhysicalNetBIOS') serverName