All DBA and Developers must have observed when any variable length column is dropped from the table, it does not reduce the size of the table. Table size stays the same till Indexes are reorganized or rebuild. There is also DBCC command DBCC CLEANTABLE, which can be used to reclaim any space previously occupied with variable length columns. Variable length columns include varchar, nvarchar, varchar(max), nvarchar(max), varbinary, varbinary(max), text, ntext, image, sql_variant, and xml. Space can be reclaimed when the variable length column is also modified for lesser length.
DBCC command for reclaiming space is very simple. Following example is for AdventureWorks database and Person.Contact table.
DBCC CLEANTABLE ('AdventureWorks','Person.Address', 0)
The result of DBCC is displayed below.
DBCC execution completed. If DBCC printed error messages, contact your system administrator.
DBCC is fully logged operation. It also does not affect temp tables and system tables.
Additionally, I would like to know if you use this particular feature on your production server or not. Personally, I have not seen much usage of this feature in the action. I believe users may be shrinking their database and not using this feature. Remember Shrinking Database is not a good thing.
Reference: Pinal Dave (https://blog.sqlauthority.com)