I was on a development instance yesterday and found a database with over 70gb of freespace and a log file with another 50gb.

I jumped straight to a right click on database  -> tasks -> shrink -> file and release unused space.

it completed in a less than a second any any queries i ran showed the diskspace usage was still the same.

Now this could be that you are actually using up all the disk space allocated to the database (I blogged about a similar issue before here)

If you are sure you do have free space the GUi is failing, the obvious option is to jump to T-SQL solution.

DBCC SHRINKFILE (N'myDb' , 0, TRUNCATEONLY)
GO

Again sadly this was doing nothing for me.

The solution was to shrink it to a specific size via

DBCC SHRINKFILE (N'myDb' , 20000)
GO

As with all database shrinks be sure to know of the results of your actions – http://www.sqlskills.com/blogs/paul/why-you-should-not-shrink-your-data-files/

Advertisements