jinanxiaolaohu

今天进行负载均衡的测试的时候 想查询一下数据库相关信息 百度了下 找到解决方案为:

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

感谢原作者的blog

 

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

转载:https://edu.aliyun.com/a/12773

 

获取服务器名称:

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

 

 

分类:

技术点:

相关文章:

  • 2021-11-12
  • 2021-10-05
  • 2021-11-30
  • 2021-10-06
  • 2021-09-19
  • 2022-12-23
  • 2021-12-07
猜你喜欢
  • 2021-12-10
  • 2021-12-14
  • 2021-08-08
  • 2021-12-22
相关资源
相似解决方案