您的位置:首页 > 数据库

使用SQL语句获得服务器名称和IP 地址

2013-07-09 14:26 162 查看
获取服务器名称:
SELECTSERVERPROPERTY('MachineName')select@@SERVERNAMEselectHOST_NAME()
获取IP地址可以使用xp_cmdshell执行ipconfig命令:

--开启xp_cmdshell execsp_configure'show advanced options', 1 reconfigurewithoverrideexecsp_configure'xp_cmdshell', 1 reconfigurewithoverrideexecsp_configure'show advanced options', 0 reconfigurewithoverridego begindeclare@iplinevarchar(200)declare@posintdeclare@ipvarchar(40)setnocountonset@ip=nullifobject_id('tempdb..#temp')isnotnulldroptable#tempcreatetable#temp(iplinevarchar(200))insert#tempexecmaster..xp_cmdshell'ipconfig'select@ipline=iplinefrom#tempwhereupper(ipline)like'%IPv4 地址%'--这里需要注意一下,系统不同这里的匹配值就不同if@iplineisnotnullbeginset@pos=charindex(':',@ipline,1);set@ip=rtrim(ltrim(substring(@ipline,@pos+ 1 ,len(@ipline)-@pos)))endselectdistinct(rtrim(ltrim(substring(@ipline,@pos+ 1 ,len(@ipline)-@pos))))asipaddressfrom#tempdroptable#temp setnocountoffendgo但是很多情况下由于安全问题是不允许使用xp_cmdshell,可以通过查询SYS.DM_EXEC_CONNECTIONS : SELECTSERVERNAME=CONVERT(NVARCHAR(128),SERVERPROPERTY('SERVERNAME')),LOCAL_NET_ADDRESSAS'IPAddressOfSQLServer',CLIENT_NET_ADDRESSAS'ClientIPAddress'FROMSYS.DM_EXEC_CONNECTIONSWHERESESSION_ID=@@SPID
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
相关文章推荐