最佳答案
                                        
                                                                        
                                如何查询我的SQL Server以仅获取数据库的大小?
我用了这个:
use "MY_DB"
exec sp_spaceused
我得到了这个:
database_name   database_size   unallocated space
My_DB           17899.13 MB 5309.39 MB
它返回了几个我不需要的列,也许有一个技巧可以从这个存储过程中选择数据库_大小的列?
我也试过这个代码:
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
所以它是有效的,但也许有一个合适的方法来得到这个?
 
                                
                             
                                
                             
                                
                             
                                
                             
                                
                             
                                
                             
                                
                             
                                
                             
                                
                             
                                
                             
                                
                            