读书人

急用触发器是否可以获得操作用户的IP?

发布时间: 2012-01-14 20:02:35 作者: rapoo

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

读书人网 >SQL Server

热点推荐