Please comment on my understanding of this concept -
The current size of the database I am building is 321 GB. Of the 321 GB, 175 GB is the size of the actual data. The remainder of the size is the unallocated space (Space that is not reserved for any objects). I used the sp_spaceused to obtain the statistics.
When a full backup occurs it is the portion containing the data (175 GB) that gets backed up along with the size information of the overall database (321 GB).
Now say I want to test my backup solution on a test machine.
When a restore of the database would occur, the size of the restored database would be 321 GB and not 175 GB which is the size of the actual data. So restore the database successfully I would need a test machine that would accommodate the database size (321 GB) and not just the actual data size (175 GB).
If you're looking to save space you could so in one of two ways, shrink your source database before you back it up - won't reduce the size of your backup file, but will reduce the size of the restored database - or just shrink the restored database. I'm not a big proponent of shrinking databases - if it needed that space once, it will typically need it again, if it's shrunk, it will have to spend processor and memory to get it back to the proper size. Just my $.02