SQL-查询以获取服务器的IP地址
时间:2020-03-06 14:48:39 来源:igfitidea点击:
我可以用来获取服务器的IP或者名称的SQL Server 2005中是否存在查询?
解决方案
select @@servername
它在@@ SERVERNAME变量中;
SELECT @@SERVERNAME;
我们可以通过以下方式获取[主机名] \ [实例名称]:
SELECT @@SERVERNAME;
要在拥有主机名\实例名称格式时仅获取主机名:
SELECT LEFT(ltrim(rtrim(@@ServerName)), Charindex('\', ltrim(rtrim(@@ServerName))) -1)
就像@GilM指出的那样:
SELECT SERVERPROPERTY('MachineName')
我们可以使用以下方法获取实际的IP地址:
create Procedure sp_get_ip_address (@ip varchar(40) out)
as
begin
Declare @ipLine varchar(200)
Declare @pos int
set nocount on
set @ip = NULL
Create table #temp (ipLine varchar(200))
Insert #temp exec master..xp_cmdshell 'ipconfig'
select @ipLine = ipLine
from #temp
where upper (ipLine) like '%IP ADDRESS%'
if (isnull (@ipLine,'***') != '***')
begin
set @pos = CharIndex (':',@ipLine,1);
set @ip = rtrim(ltrim(substring (@ipLine ,
@pos + 1 ,
len (@ipLine) - @pos)))
end
drop table #temp
set nocount off
end
go
declare @ip varchar(40)
exec sp_get_ip_address @ip out
print @ip
SQL脚本的来源。
在没有\ InstanceName的情况下获取计算机名称的更简单方法是:
SELECT SERVERPROPERTY('MachineName')

