My team administers 18 databases on an SQL Server (totalling 271GB). We use SQL Server 7.0.

One database uses 80-90% of the used space

The server is now running at capacity on disk space (a long story...) and we regularly have to shrink the databases to free up space. However, when we shrink the main database, it retains all of the free space and doesn't give this back, meaning that the disk is always showing as full and our other databases run out of space almost immediately. Currently, after shrinking, this database has used 194GB in data and log files but has taken 267GB and is holding the difference as free space.

We shrink the DB using <all tasks><shrink database> on enterprise manager. We've also tried DBCC SHRINK DATABASE on query analyser all to no avail.

Is there any way of forcing the database to release this free space for the use of the other databases on the server ?

Thanks for your help.