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')