This is related to my question a few days ago "Recover Space After Table Delete". I have deleted millions of Records from a specific table and now am looking to reclaim the disk space. My plan was to run a dbcc ShrinkDatbase() command but should I be running something else instead? This particular table exists on multiple databases on this instance. Should I use shrinkfile instead to shrink the mdf and ldf?
You know that shrinking files or databases can lead to serious fragmentation at the disk level. That said, assuming we're talking about a one time recovery from an emergency event, a single shrink operation is not the end of the world. I would, where possible, use the SHRINKFILE command instead of the SHRINKDATABASE command. It's more targeted and controlled so that you only shrink the things that need to be and not stuff that shouldn't be touched.