我想确定我要连接的 SQL Server 是否在本地计算机上。我知道有很多方法可以在连接到 SQL Server 时识别它的服务器\实例名称,但是可以指定服务器名称的方式有很多,我不想自己在 IP 地址之间进行比较, 机器名称, (local)
, LocalHost
,.
等
SQL Server(任何版本 2000+)中有什么东西可以检查实例是否在本地计算机上,而无需自己进行比较?
我想确定我要连接的 SQL Server 是否在本地计算机上。我知道有很多方法可以在连接到 SQL Server 时识别它的服务器\实例名称,但是可以指定服务器名称的方式有很多,我不想自己在 IP 地址之间进行比较, 机器名称, (local)
, LocalHost
,.
等
SQL Server(任何版本 2000+)中有什么东西可以检查实例是否在本地计算机上,而无需自己进行比较?
SELECT Case when HOST_NAME()=
Case When CharIndex('\',@@SERVERNAME)=0 then @@SERVERNAME else LEFT(@@SERVERNAME,CharIndex('\',@@SERVERNAME)-1) end
then 'local' else 'remote' end
因为@@SERVERNAME 是在安装时定义的,并且可能已经更改(甚至通过 sp_addserver),所以您更喜欢:
SELECT Case when HOST_NAME()=SERVERPROPERTY('MachineName') then 'local' else 'remote' end
SELECT CASE WHEN CAST(SERVERPROPERTY('MachineName') AS VARCHAR(100)) = CAST(HOST_NAME() AS VARCHAR(100)) THEN 'LOCAL'
ELSE 'REMOTE'
END