我在因特网上发布了一个网站。当用户通过这个网站来更新我的数据库时,我想用数据库里面的触发器来统计每个表的更新情况。以及记录 更新该表的用户的ip。应该如何写这个触发器。
另外我在网上参考了其他同仁的方法,但是都是通过ping计算机的名称来获取的。如果在因特网上这个方法可能不好用,因为机器名也可能重复。所以希望大家能够帮我解决这个问题。谢谢了!

解决方案 »

  1.   

    C#
    Request.UserHostAddress
    Request.UserHostName
    sql我觉得不能
      

  2.   

    程序中request有个变量值可以取到客户端的ip
      

  3.   

    http://topic.csdn.net/u/20090225/18/eb17c189-0c56-484a-b0bc-674ed7e3e9d6.html
      

  4.   

    1,在前天 request 可以取到客户端的ip
    2,传到后台 再触发器  在保存!
      

  5.   

    应该可以
    sqlserver2005日志是能记录客户端IP的,不知是怎么弄的
      

  6.   

    master中的sys.dm_exec_connections其中client_net_addess列记录的就是
      

  7.   


    ALTER    Procedure [dbo].[GetClientIP]  
    as  
    declare @ip varchar(20)  
    declare @hst varchar(20)  
    declare @sql varchar(100)  
    declare @str varchar(100)  
    set @str='PING '+Host_Name() + ' -n 1'  
    create table #tmp(aa varchar(200))  
    insert #tmp exec master..xp_cmdshell @str  
    select top 1 @ip = replace(left(aa,charindex(':',aa)-1),'Reply from ','')   
    from #tmp where aa like 'reply from %:%'  
    drop table #tmp  
    select @ip  
    不知道这个存储过程是否是楼主需要的。