小编Hop*_*00b的帖子

获取 MSSQL Server 命名实例上的数据库大小

我需要获取 SQL 服务器迁移项目的数据库大小列表。我们要迁移的 SQL Server 服务器安装了三个实例,一个是默认实例,两个是命名实例。如果重要的话,它在 Server 2008 R2 上运行 SQL Server 2008 R2。

为了得到这个列表,我删除了我在上一个职位上作为事实上/意外 DBA 使用的旧 T-SQL“脚本”,它在默认实例上按预期工作,但没有返回任何一个命名实例的数据。

SELECT [Database Name] = DB_NAME(database_id),

   [Type] = CASE WHEN Type_Desc = 'ROWS' THEN 'Data File(s)'

                 WHEN Type_Desc = 'LOG'  THEN 'Log File(s)'

                 ELSE Type_Desc END,

   [Size in MB] = CAST( ((SUM(Size)* 8) / 1024.0) AS DECIMAL(18,2) )

FROM   sys.master_files

GROUP BY      GROUPING SETS

          (

                 (DB_NAME(database_id), Type_Desc),

                 (DB_NAME(database_id))

          )

ORDER BY      DB_NAME(database_id), Type_Desc DESC

GO
Run Code Online (Sandbox Code Playgroud)

有人可以告诉我原因(以及如何解决),或提出更好的解决方案吗?

(它一定是FROM sys.master_files一点,因为它还能是什么,但我不确定我应该在命名实例上使用什么。)

编辑:下面是我在我的命名实例上看到的内容,无论如何......所以如果这段代码确实/应该适用于命名实例,那么关于它为什么不适用于这些实例的想法将不胜感激。

截图

sql-server t-sql sql-server-2008-r2

6
推荐指数
1
解决办法
1602
查看次数

标签 统计

sql-server ×1

sql-server-2008-r2 ×1

t-sql ×1