Sql-server – Why can’t I get the available free space after shrinking

disk-spaceshrinksql serversql-server-2012

My disk drive was full. So I deleted some records. Then I tried to shrink and it indicated available free space of around 5GB as indicated in the below image.

enter image description here

Once I ran the shrink for data file, though it completed successfully I didn't get the 5GB space as indicated. Infact the disk size remained the same. Nothing was shrunk. For log file shrink it shows available space of 200MB and when I run a log file shrink it does free up 200MB as indicated. So why is it not working with data file shrink? What am I doing wrong? Please advice.

Best Answer

In shrink action, you need to choose:

"Reorganize pages before releasing unused space"

And choose desidered size.

Actually you don't have released space because you have still used pages ad the end of your file.

Edit:
You can do it via query, with instructions like this:

DBCC SHRINKFILE (N'MATRIX24X7' , 449000)