1.试图连一下,连上了就有2,判断自己是不是电脑SERVERA if @@servername='SERVERA' ...
--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'
用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 但除次之外似乎没有好的办法
if @@servername='SERVERA'
...
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'
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
但除次之外似乎没有好的办法