获取SQL Server中所有数据库大小的总和

olm*_*ed0 12 sql t-sql database sql-server

我想计算我的数据库在服务器中使用了多少空间.我可以使用sp_spacefiles或查询sys.databases表,但这会给我每个数据库的单独结果,我将不得不将其复制到Excel工作表并从那里计算总和.

在T-SQL中有直接的方法吗?

谢谢.

JNK*_*JNK 24

你可以查询master.sys.master_files:

SELECT CONVERT(DECIMAL(10,2),(SUM(size * 8.00) / 1024.00 / 1024.00)) As UsedSpace
FROM master.sys.master_files
Run Code Online (Sandbox Code Playgroud)

这将为您提供总计GB.

Sys.Master_files是一个服务器范围的视图,列出每个数据库中的每个文件.它可以从SQL Server 2005开始提供.