【发布时间】:2019-09-29 21:16:08
【问题描述】:
我尝试使用 SSMS 对多个已注册的 SQL Server 运行此查询:
SELECT DISTINCT(volume_mount_point),
total_bytes / 1048576 AS Size_in_MB,
available_bytes / 1048576 AS Free_in_MB,
(SELECT ROUND(CAST(available_bytes / 1048576 * 1.0 as FLOAT) / CAST(total_bytes / 1048576 * 1.0 AS FLOAT) * 100, 2)) AS FreePercentage
FROM
sys.master_files AS f
CROSS APPLY
sys.dm_os_volume_stats(f.database_id, f.file_id)
GROUP BY
volume_mount_point, total_bytes / 1048576, available_bytes / 1048576
ORDER BY
4
某些服务器具有不知道“sys.dm_os_volume_stats”和整个查询崩溃报告的 SQL Server 2008 R2 RTM 产品级别:
消息 208,第 16 级,状态 1,第 1 行
无效的对象名称“sys.dm_os_volume_stats”。
我尝试在主 SELECT 之前添加一个条件,但它不起作用:
DECLARE @ProductLevel varchar(128)
SET @ProductLevel = CONVERT(VARCHAR(128), SERVERPROPERTY ('ProductLevel'))
IF @ProductLevel not like 'RTM'
BEGIN...
我还尝试通过此文档来区分结果 To change the multiserver results options
更改多服务器结果选项 在 Management Studio 中,在 工具菜单,点击选项。
展开查询结果,展开 SQL Server,然后单击多服务器 结果。
在“多服务器结果”页面上,指定您设置的选项设置 想要,然后点击确定。
还有其他想法吗?
【问题讨论】:
标签: sql-server sql-server-2008-r2 multiserver