首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 数据库 > SQL Server >

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

2012-01-14 
急!!用触发器是否可以获得操作用户的IP?我的MSSQL服务器中的一个表经常掉几条数据,我想用触发器记录操作的

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

热点排行
Bad Request.