根据进程号获取该进程所在客户端的ip地址

文章作者 100test 发表时间 2008:01:28 09:26:15
来源 100Test.Com百考试题网


create procedure dbo.sp_spidtoip @spid int
as
-- spid to mac
-- lj
declare @mac as varchar(12)
0select @mac = net_address from master..sysprocesses where spid = @spid
-- mac to ip
declare @macdisplay as varchar(18)
declare @ip as varchar(15)
create table #temp (output varchar(255) null)
set nocount on
insert into #temp exec master..xp_cmdshell arp -a
if @@error<>0
begin
raiserror (the level for job_id:%d should be between %d and %d., 16, 1)
--rollback transaction
end
0select @macdisplay = left(@mac, 2) - substring(@mac, 3, 2) - substring(@mac, 5, 2) - substring(@mac, 7, 2) - substring(@mac, 9, 2) - substring(@mac, 11, 2) 0select @ip = substring(output, 3, 15) from #temp where output like % @macdisplay %
-- resolve the ip
--declare @cmd as varchar(100)
--0select @cmd = master..xp_cmdshell "ping -a @ip "
--exec (@cmd)
0drop table #temp
set nocount off
go


相关文章


SQL语句基础学习之外部连接
Select检索高级用法(适用于SQLServer)
计算机等级考试三级PC技术考试-大纲(08年版)
如何将数据库中被锁表解锁
根据进程号获取该进程所在客户端的ip地址
SQL语句基础学习之UNIONALL
当SQLServer数据库崩溃时如何恢复
小议M QLServer2000的安全及管理
Sqlserver中时间查询的一个比较快的语句
澳大利亚华人论坛
考好网
日本华人论坛
华人移民留学论坛
英国华人论坛