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