如何查询我的 sql server 以仅获取数据库的大小?
我用这个:
use "MY_DB"
exec sp_spaceused
我懂了 :
database_name database_size unallocated space
My_DB 17899.13 MB 5309.39 MB
它返回了我不需要的几个列,也许有一个技巧可以从这个存储过程中选择 database_size 列?
我也试过这段代码:
SELECT DB_NAME(database_id) AS DatabaseName,
Name AS Logical_Name,
Physical_Name,
(size * 8) / 1024 SizeMB
FROM sys.master_files
WHERE DB_NAME(database_id) = 'MY_DB'
它给了我这个结果:
DatabaseName Logical_Name Physical_Name SizeMB
MY_DB MY_DB D:\MSSQL\Data\MY_DB.mdf 10613
MY_DB MY_DB_log D:\MSSQL\Data\MY_DB.ldf 7286
所以我写了这个:
SELECT SUM(SizeMB)
FROM (
SELECT DB_NAME(database_id) AS DatabaseName,
Name AS Logical_Name,
Physical_Name,
(size * 8) / 1024 SizeMB
FROM sys.master_files
WHERE DB_NAME(database_id) = 'MY_DB'
) AS TEMP
我得到:1183
所以它有效,但也许有适当的方法来获得这个?
原文由 Adeel ASIF 发布,翻译遵循 CC BY-SA 4.0 许可协议
试试这个——
询问:
输出:
功能:
2016 年 1 月 22 日更新:
显示有关大小、可用空间、上次数据库备份的信息
输出: