-- 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地址