怎么获取服务器的MAC地址,非本机的。
下边的语句
select top 1 net_address from master..sysprocesses
where hostname=left(@@servername,charindex( '\ ',@@servername+ '\ ')-1)
如果数据库在本地计算机上是可以获取MAC地址,
但是如果访问其他数据库就不能获取网卡地址,
不知道为什么?
请问怎么才能获取其他服务器上的mac地址?
------解决方案--------------------语句没有问题。
返回结果也是正确的。
不论是本机服务器,还是远程的SQL Server服务器。
有什么问题?
------解决方案--------------------exec master..xp_cmdshell 'ipconfig /all '
------解决方案--------------------select top 1 net_address from master..sysprocesses
where hostname=left(@@servername,charindex( '\ ',@@servername+ '\ ')-1)
-----------------------------------
这个得到的只是第一个登陆用户的MAC地址,
想得到服务器的必须是服务器上有非系统进程在工作,并且你知道他的主机名或者进程号
------解决方案--------------------create table #(str varchar(100))
insert # exec master..xp_cmdshell 'ipconfig /all '
select stuff(str,1,charindex( ': ',str), ' ')
from #
where ltrim(str) like 'IP Address% '
drop table #
------解决方案--------------------物理地址
create table #(str varchar(100))
insert # exec master..xp_cmdshell 'ipconfig /all '
select * from #
select stuff(str,1,charindex( ': ',str), ' ')
from #
where ltrim(str) like 'Physical% '
------解决方案--------------------create table #(str varchar(100))
insert # exec master..xp_cmdshell 'ipconfig /all '
select ltrim(replace(stuff(str,1,charindex( ': ',str), ' '), '- ', ' ' ))
from #
where ltrim(str) like 'Physical% '
drop table #
------解决方案--------------------用sa连接试试。
------解决方案--------------------学习
------解决方案--------------------跟什么网卡没有关系
必须用sa登录
------解决方案--------------------MARK