2. 看自己的機器名 Select @@servername

解决方案 »

  1.   

    1.试图连一下,连上了就有2,判断自己是不是电脑SERVERA
    if @@servername='SERVERA'
    ...
      

  2.   

    --1.判断网络上是否有serverb这台电脑存在
    create table #ip(re varchar(200))
    insert #ip exec master..xp_cmdshell 'ping SERVERB -a -n 1 -l 1'
    if exists(select * from #ip where re like 'Unknown host %')
    print '没有此电脑'
    else
    print '有此电脑'drop table #ip
    --2.判断自己是不是电脑SERVERA
    if @@servername+'\' like 'SERVERA\%'  --这样判断是为了避免实例名的问题
    print '是SERVERA'
    else
    print '不是SERVERA'
      

  3.   

    用Ping的方法不太保险:
    1、防火墙屏蔽,
    2有时候你的局域网内明明没有ServerB,但因为你的服务器(或通过网关)可以访问internet,仍然会给你错误的信息相比之下用nbtstat 要准确一点
    --1.判断网络上是否有serverb这台电脑存在
    create table #ip(re varchar(200))
    insert #ip exec master..xp_cmdshell 'nbtstat -a SERVERB'
    if exists(select * from #ip where re like '%Host not found%')
    print '没有此电脑'
    else
    print '有此电脑'drop table #ip
    但除次之外似乎没有好的办法