Ant*_*nto 5 sql-server-2008 sql-server
我有 4 个不同的服务器,我想在一个输出中获得所有这些服务器的可用磁盘空间。
使用 xp_fixeddrives 我们将获得每个驱动器中的可用空间。
不可能进入所有服务器并按上述方式检查它。所以我试图执行一次。
例如一台服务器的结果集如下
drive free_mb
C 1816
D 2553
E 2882
F 6247
G 16936
H 7281
I 2395
Run Code Online (Sandbox Code Playgroud)
由于我是 sql 的初学者,请帮我解决这个问题。
像这样的事情应该这样做:
create table #Tmp
(
Drive char(1),
MBFree int,
ServerName varchar(50)
)
insert into #Tmp(Drive, MBFree) exec Server1.master.dbo.xp_fixeddrives
update #Tmp set ServerName = 'Server1' where ServerName is null
insert into #Tmp(Drive, MBFree) exec Server2.master.dbo.xp_fixeddrives
update #Tmp set ServerName = 'Server2' where ServerName is null
select *
from #Tmp
order by ServerName, Drive
drop table #Tmp
Run Code Online (Sandbox Code Playgroud)
结果:
Drive MBFree ServerName
----- ----------- --------------------------------------------------
C 57859 Server1
D 384636 Server1
F 82353 Server1
C 4963 Server2
E 10605 Server2
Run Code Online (Sandbox Code Playgroud)
Server1
并且Server2
必须是您执行上述语句的服务器中的链接服务器。
归档时间: |
|
查看次数: |
230 次 |
最近记录: |