您好,欢迎来到才安养生。
搜索
您的当前位置:首页SQL语句实现查询SQLServer服务器名称和IP地址

SQL语句实现查询SQLServer服务器名称和IP地址

来源:才安养生


获取服务器名称:

SELECT SERVERPROPERTY('MachineName')
select @@SERVERNAME
select HOST_NAME()

获取IP地址可以使用xp_cmdshell执行ipconfig命令:

--开启xp_cmdshell 
exec sp_configure'show advanced options', 1 
reconfigure with override 
exec sp_configure'xp_cmdshell', 1 
reconfigure with override 
exec sp_configure'show advanced options', 0 
reconfigure with override 
go 
 
begin 
declare @ipline varchar(200) 
declare @pos int 
declare @ip varchar(40) 
set nocount on 
set @ip = null 
 if object_id('tempdb..#temp') is not null drop table #temp 
 create table #temp(ipline varchar(200)) 
 insert #temp exec master..xp_cmdshell'ipconfig' 
 select @ipline = ipline 
 from #temp 
 where upper(ipline) like '%IPv4 地址%'--这里需要注意一下,系统不同这里的匹配值就不同 
 if @ipline is not null 
 begin 
 set @pos = charindex(':',@ipline,1); 
 set @ip = rtrim(ltrim(substring(@ipline , 
 @pos + 1 , 
 len(@ipline) - @pos))) 
 end 
 select distinct(rtrim(ltrim(substring(@ipline , 
 @pos + 1 , 
 len(@ipline) - @pos)))) as ipaddress from #temp 
drop table #temp 
 
 
set nocount off 
end 
go 

但是很多情况下由于安全问题是不允许使用xp_cmdshell,可以通过查询SYS.DM_EXEC_CONNECTIONS :

SELECT SERVERNAME = CONVERT(NVARCHAR(128),SERVERPROPERTY('SERVERNAME')) 
,LOCAL_NET_ADDRESS AS 'IPAddressOfSQLServer'
,CLIENT_NET_ADDRESS AS 'ClientIPAddress'
 FROM SYS.DM_EXEC_CONNECTIONS WHERE SESSION_ID = @@SPID

 

您可能感兴趣的文章:

  • SQL Server Table中XML列的操作代码
  • SQLSERVER查询所有数据库名,表名,和字段名的语句
  • SQL Server SQL高级查询语句小结
  • SQLServer中用T—SQL命令查询一个数据库中有哪些表的sql语句
  • 关于SQL Server查询语句的使用
  • 详解SQL Server的简单查询语句
  • SqlServer 基础知识 数据检索、查询排序语句
  • SQL Server中Table字典数据的查询SQL示例代码
  • Copyright © 2019- cagj.cn 版权所有

    违法及侵权请联系:TEL:199 18 7713 E-MAIL:2724546146@qq.com

    本站由北京市万商天勤律师事务所王兴未律师提供法律服务