Question: I have a test database with 1 table having some 50 million records. The table initially had 50 columns. The table has no indexes. When I execute the "sp\_spaceused" procedure I get "24733.88 MB" as result. Now to reduce the size of this database, I remove 15 columns (mostly int columns) and run the "sp\_spaceused", I still get "24733.88 MB" as result. 

Why is the database size not reducing after removing so many columns? Am I missing anything here?

**Edit:** I have tried database shrinking but it didn't help either

Answer: 
When any variable length column is dropped from table, it does not reduce the size of 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. Here is the syntax:

```
DBCC CLEANTABLE ('MyDatabase','MySchema.MyTable', 0)WITH NO_INFOMSGS;
GO

```

Raj
The database size will not shrink simply because you have deleted objects. The database server usually holds the reclaimed space to be used for subsequent data inserts or new objects.

To reclaim the space freed, you have to shrink the database file. See [How do I shrink my SQL Server Database?](https://stackoverflow.com/questions/439071/how-do-i-shrink-my-sql-server-database)