通过SQL查询SQL服务器和客户端IP地址

-- Author : htl258(Tony)

-- Date   : 2010-06-26 23:02:30

-- Version: Microsoft SQL Server 2008 (RTM) - 10.0.1600.22 (Intel X86)

--          Jul  9 2008 14:43:34

--          Copyright (c) 1988-2008 Microsoft Corporation

--          Developer Edition on Windows NT 5.1 <X86> (Build 2600: Service Pack 2)

-- Blog   : http://blog.csdn.net/htl258 (转载保留此信息)

-- Subject: 通过SQL查询SQL服务器和客户端IP地址

----------------------------------------------------------------------------------

--通过SQL查询SQL服务器IP地址(适用于SQL2000以上版本,查询服务器所有网卡的IP)

SELECT STUFF([output],1,CHARINDEX(':',[output]),'') AS [服务器IP地址]

FROM OPENROWSET(

    'SQLOLEDB',

    'Server=.;Trusted_Connection=yes',

    'SET FMTONLY OFF;

    EXEC master..xp_cmdshell ''ipconfig/all'''

) AS t

WHERE [output] LIKE '%IP Address%'

/*

服务器IP地址

----------------

192.168.16.235

192.168.10.140

(2 行受影响)

*/

--通过SQL查询SQL服务器和客户端IP地址(适用于SQL2005以上版本)

SELECT local_net_address 服务器IP地址,

       local_tcp_port AS 服务端口,

       client_net_address AS 客户端IP地址

FROM sys.dm_exec_connections

WHERE session_id = @@SPID

--通过SQL查询SQL服务器和客户端IP地址(适用于SQL2008以上版本)

SELECT CONNECTIONPROPERTY('local_net_address') AS 服务端IP地址,

       CONNECTIONPROPERTY('local_tcp_port') AS 服务端口,

       CONNECTIONPROPERTY('client_net_address') AS 客户端IP地址

原文地址:https://www.cnblogs.com/leomon/p/5607287.html