I have a fairly large database that basically consists of one table, this table is paritioned by month and all partitions are compressed with page compression. After the initial load of the data there have been update operations (basically one column was set from NULL to an tinyint value). After that I noticed that in the disk usage report showed on the files that the space reserved did grow very large compared to the space used (81 GB vs. 24 GB). This obviously results in a huge waist of disk space. Compressing the partition and shrinking the file results in an awfully fragmented clustered index for that partition.
What would be best practice to reduce the disk space usage to the absolute minimum ?