急!!用触发器是否可以获得操作用户的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;