Informaţiile afişate în Enterprise Manager la click dreapta / Properties pe o bază de date ar trebui să fie aceleaşi cu cele returnate de sp_spaceused şi anume: database_size conţine dimensiunea totală a tuturor fişierelor (de date şi de log), iar unallocated_space conţine doar spaţiul nealocat din fişierele de date.
Procedura sp_spaceused mai precizează şi cât spaţiu este reserved, adică alocat unor obiecte din baza de date, dintre care: data este spaţiul folosit efectiv de date, index este spaţiul folosit de indecşii non-clustered, iar unused este spaţiul alocat unor obiecte, dar nefolosit din cauze de fragmentare, row size, etc.
De exemplu, într-una din bazele mele de date am executat sp_helpfile şi sp_spaceused şi am obţinut următorul rezultat:
name fileid filename filegroup size maxsize growth usage
----------------- ------ ------------------------ ------------ ------------------ ------------------ ------------------ ---------
DataFile 1 C:\...\My_DB_Data.mdf PRIMARY 931456 KB Unlimited 10% data only
LogFile 2 C:\...\My_DB_Log.ldf NULL 278528 KB Unlimited 10% log only
database_name database_size unallocated space
------------------ ------------------ ------------------
My_DB 1181.63 MB 74.57 MB
reserved data index_size unused
------------------ ------------------ ------------------ ------------------
855096 KB 199080 KB 211496 KB 444520 KB
După cum se observă, database_size este suma dimensiunilor tuturor fişierelor, fiind (931456+278528)/1024. În schimb, unnallocated space este spaţiul nealocat doar din fişierul de date, fiind (931456-855096)/1024. Iar unused este spaţiul "nefolosit" (care e altceva decât "nealocat") din fişierul de date, fiind 855096-199080-211496.
Răzvan