首页 > 数据库 > SQL Server > 正文

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

2024-08-31 01:03:00
字体:
来源:转载
供稿:网友

获取服务器名称:

SELECT SERVERPROPERTY('MachineName')select @@SERVERNAMEselect 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 gobegin declare @ipline varchar(200) declare @pos int declare @ip varchar(40) set nocount on set @ip = nullif object_id('tempdb..#temp') is not null drop table #tempcreate table #temp(ipline varchar(200))insert #temp exec master..xp_cmdshell'ipconfig'select @ipline = iplinefrom #tempwhere upper(ipline) like '%IPv4 地址%'--这里需要注意一下,系统不同这里的匹配值就不同if @ipline is not nullbeginset @pos = charindex(':',@ipline,1);set @ip = rtrim(ltrim(substring(@ipline ,@pos + 1 ,len(@ipline) - @pos)))endselect distinct(rtrim(ltrim(substring(@ipline ,@pos + 1 ,len(@ipline) - @pos)))) as ipaddress from #temp drop table #tempset 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
 

发表评论 共有条评论
用户名: 密码:
验证码: 匿名发表