当前位置: 代码迷 >> Sql Server >> 急用触发器是否可以获得操作用户的IP?该如何解决
  详细解决方案

急用触发器是否可以获得操作用户的IP?该如何解决

热度:60   发布时间:2016-04-27 17:33:43.0
急!!用触发器是否可以获得操作用户的IP?
我的MSSQL服务器中的一个表经常掉几条数据,我想用触发器记录操作的数据,请大侠们帮帮忙怎么样获取操作IP和操作的是那条记录?谢谢了

------解决方案--------------------
用存储过程来实现:
create proc sp_get_hostip(@ip varchar(15) output)

AS

declare @cmd varchar(200);
create table #ipTemp(iptext varchar(255));

set @cmd = 'ping -n 1 ' + host_name();

insert #ipTemp exec master..xp_cmdshell @cmd;

select @ip = ISNULL(substring(iptext,(charindex( '[ ',iptext)+1),(charindex( '] ',iptext)-(charindex( '[ ',iptext)+1))), ' ') from #ipTemp where charindex( '[ ',iptext)> 0;

drop table #ipTemp;

if ( @ip <> ' ' )
return 1;
else
return 0;
  相关解决方案