22,210
社区成员
发帖
与我相关
我的任务
分享
IF OBJECT_ID(dbo.GetClientIP) IS NOT NULL
DROP PROC dbo.GetClientIP
GO
CREATE PROCEDURE dbo.GetClientIP
AS
DECLARE @ip VARCHAR(20)
DECLARE @hst VARCHAR(20)
DECLARE @sql VARCHAR(100)
DECLARE @str VARCHAR(100)
SET @str = 'PING ' + HOST_NAME() + ' -n 1'
CREATE TABLE #tmp ( aa VARCHAR(200) )
INSERT
#tmp
EXEC master..xp_cmdshell @str
SELECT TOP 1
@ip = REPLACE(LEFT(aa , CHARINDEX(':' , aa) - 1) , 'Reply from ' , '')
FROM #tmp
WHERE aa LIKE 'reply from %:%'
DROP TABLE #tmp
SELECT @ip
RETURN ( 0 )
Go
或者直接使用动态管理视图
selct client_net_address,local_net_address,connection_id
from sys.dm_exec_connections