Comment puis-je interroger mon serveur sql pour obtenir uniquement la taille de la base de données ?
J'ai utilisé ce :
use "MY_DB"
exec sp_spaceused
J'ai eu ça :
database_name database_size unallocated space
My_DB 17899.13 MB 5309.39 MB
Il me renvoie plusieurs colonnes dont je n'ai pas besoin, peut-être y a-t-il une astuce pour sélectionner la colonne database_size dans cette procédure stockée ?
J'ai également essayé ce code :
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'
Cela me donne ce résultat :
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
Alors j'ai écrit ceci :
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
J'ai obtenu : 1183
Cela fonctionne donc, mais il existe peut-être un moyen plus approprié d'obtenir ce résultat ?