日期:2014-05-18  浏览次数:20543 次

急问:如果通过网络地址获取IP?
如何通过server企业管理器中的进程信息,查知操作用户的ip地址啊?是通过网络地址这个信息查吗?如果是,那怎么可以通过这个网络地址获知?如果不是,那是通过哪个信息呢?急!请高手们帮帮我!

------解决方案--------------------
查主机名
select hostname from master..sysprocesses

ping 主机名 得到IP地址
------解决方案--------------------
T-sql获取ip地址


declare @ip varchar(15),@sql varchar(1000)

--得到ip地址
create table #ip(a varchar(200))
set @sql= 'ping '+host_name()+ ' -a -n 1 -l 1 '
insert into #ip exec master..xp_cmdshell @sql

select @ip=left(a,patindex( '%:% ',a)-1) from(
select a=substring(a,patindex( 'Ping statistics for %:% ',a)+20,20)
from #ip where a like 'Ping statistics for %:% ') a

--显示结果
select 用户计算机名=host_name(),ip地址=@ip

drop table #ip
------解决方案--------------------
select hostname from master..sysprocesses where loginame= '用户名 '
------解决方案--------------------
exec sp_who
查看结果集中blk> 0的,再根据ping hostname得到IP
还有什么疑问?
------解决方案--------------------
这个问题只能在 WEBSERVICES 中解决.