- Windows Server 2003
- SQL Server 2008 R1SP1CU5
I have a table (let's call it [message_queue]) defined with 2 int columns, 1 datetimeoffset column, 6 varchar(128) columns and 1 xml column. Information in this table is limited to a small number of rows at any one time, though a large number of rows will
pass through it over time. Also, the XML values by row can be reasonably large, let's say 5Mb.
We noticed that the database was filling up and on inspection found that the biggest table (using the infamous sp_spaceused stored procedure) was [message_queue]. The procedure reported that it was on the order of 6Gb, yet the table contained no rows. I
have subsequently run an index rebuild across all indexes, DBCC UPDATEUSAGE(0) and DBCC CLEANTABLE (and quite possibly some other commands which escape me now) but apparently the table is still 6Gb. Why is this? Those commands were run over a day ago now so
I doubt it is to do with ghost cleanup. (I have read the following: