SQL Server 2005 中是否有查询可以用来获取服务器的 IP 或名称?
SELECT
CONNECTIONPROPERTY('net_transport') AS net_transport,
CONNECTIONPROPERTY('protocol_type') AS protocol_type,
CONNECTIONPROPERTY('auth_scheme') AS auth_scheme,
CONNECTIONPROPERTY('local_net_address') AS local_net_address,
CONNECTIONPROPERTY('local_tcp_port') AS local_tcp_port,
CONNECTIONPROPERTY('client_net_address') AS client_net_address
这里的代码将为您提供 IP 地址;
这适用于对 SQL 2008 及更高版本的远程客户端请求。
如果您允许共享内存连接,那么在服务器本身上运行上面将为您提供
- “共享内存”作为“net_transport”的值,以及
- 'local_net_address' 为 NULL,并且
- '
<local machine>
'将显示在'client_net_address'中。
'client_net_address' 是发出请求的计算机的地址,而 'local_net_address' 是 SQL 服务器(因此在共享内存连接上为 NULL),如果某人无法使用服务器的 NetBios,则您将提供该地址出于某种原因的名称或 FQDN。
我强烈建议不要使用这个答案 https://stackoverflow.com/a/142157/578411。在生产 SQL Server 上启用 shell out 是一个非常糟糕的主意。
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)