SQLSERVER 查看服務器IP地址的命令


今天進行負載均衡的測試的時候 想查詢一下數據庫相關信息 百度了下 找到解決方案為:

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

 

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM