• AHAH, at least we can now narrow down the problem to the text!

    The clustered index (indid = 1) has reserved 34,363 pages and used 34,363 pages which is 265 Mb or 27,8202,848 bytes. Dividing by the number of rows gives an average row size of 106.30 bytes per row. As the sum of the column physical sizes is about 145 bytes (include 16 bytes for the pointer to the text) and there are some variable length columns, this is reasonable.

    But look at indid = 255, which is for the text:

    Reserved is 729,546 pages and data is 224,736 leaving 504,810 pages as unused, which is 3.8Gb.

    You did not post the SQL Server version, so if you are running 7, take a look at

    "FIX: TEXT/IMAGE Data Storage Space Not Reclaimed Correctly"

    http://support.microsoft.com/kb/272220/EN-US/

    Workaround for this problem is:

    To defragment the text or image data and recover the unavailable unused space, use the bulk copy program (BCP) to bulk copy the data out of the table and then back into the table so that the storage will then be contiguous.

    Regarding the table master.dbo.spt_values, this is one of those Entity-Attribute-Value tables that the Sybase programers in the 80s designed as a catch-all place to store parameters and descriptions. For example, a type of "C" indicates the names for the instance configuration values. As there are less than 800 rows, you can just examine by eye. sp_depends can tell you what system procedures reference the table and just look at the code.

    SQL = Scarcely Qualifies as a Language