日期:2014-05-19  浏览次数:20912 次

触发器如何得到操作者的ID和IP?
现在要做一个触发器,任何操作都要记录一下,所以考虑做触发器,但是触发器如何得到这个操作人的ID和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