查主机名
select hostname from master..sysprocessesping 主机名  得到IP地址

解决方案 »

  1.   

    T-sql获取ip地址 declare @ip varchar(15),@sql varchar(1000)--得到ip地址
    create table #ip(a varchar(200))
    set @sql='ping '+host_name()+' -a -n 1 -l 1'
    insert into #ip exec master..xp_cmdshell @sqlselect @ip=left(a,patindex('%:%',a)-1) from(
    select a=substring(a,patindex('Ping statistics for %:%',a)+20,20)
    from #ip where a like 'Ping statistics for %:%') a--显示结果
    select 用户计算机名=host_name(),ip地址=@ipdrop table #ip
      

  2.   

    select hostname from master..sysprocesses where loginame='用户名'
      

  3.   

    哎,可能还是我描述有问题
    首先,我有一台数据库服务器A ,有一台web服务器B,有若干台客户机C
    现在有大量用户在客户机C上通过web服务器B访问数据库服务器A,结果造成死锁
    我现在想通过查看sqlserver企业管理器中的进程信息获知具体是哪一台客户机发出的命令导致死锁,能办到吗?
      

  4.   

    exec sp_who
    查看结果集中blk>0的,再根据ping hostname得到IP
    还有什么疑问?
      

  5.   

    还是不行 
    1、blk>0只能查到当前的状态,对历史记录无法追查
    2、这里大家都提到hostname ,因为用户是通过web服务器访问数据库的,所以用户名都是web服务器里设定的用户名,故而查到的hostname也只能是web服务器
    我以为只有通过查看网络地址即:net_address,不知是否正确,但我通过企业管理器获取了这个网络地址,又不知怎么可能通过这个地址查看IP
      

  6.   

    这个问题只能在 WEBSERVICES 中解决.