获取服务器名称:SELECTSERVERPROPERTY('MachineName')select@@SERVERNAMEselectHOST_NAME()获取IP地址可以使用xp_cmdshell执行ipconfig命令:--开启xp_cmdshellexecsp_configure'showadvancedoptions',1reconfigurewithoverrideexecsp_configure'xp_cmdshell',1reconfigurewithoverrideexecsp_configure'showadvancedoptions',0reconfigurewithoverridegobegindeclare@iplinevarchar(200)declare@posintdeclare@ipvarchar(40)setnocountonset@ip=nullifobject_id('tempdb.
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 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 语句 实现 查询 SQLServer 服务器 名称 IP 地址
声明:本文内容来源自网络,文字、图片等素材版权属于原作者,平台转载素材出于传递更多信息,文章内容仅供参考与学习,切勿作为商业目的使用。如果侵害了您的合法权益,请您及时与我们联系,我们会在第一时间进行处理!我们尊重版权,也致力于保护版权,站搜网感谢您的分享!