For years I've had it drilled in to me:
Never ever shrink a database file.
I understand why of course, and I never do, mainly because I never need to.
Now though, I have a database with an .mdf file that is 800GB. It was a system designed to collect data over a certain amount of time, with no retention period.
A retention period of 90 days was recently placed on this data, and as such the developer has cleared about 3 years worth of data from the tables. Data and Indexes now total roughly 70GB, so now I have an .mdf file which is grossly over-sized.
I want to shrink it to reclaim some of that valuable disk space.
I'm planning to perform a shrink prior to rebuilding indexes and updating statistics (i.e the weekly maint. plan)
I'm not breaking any DBA laws here am I? I assume this is an acceptable scenario in which to perform a SHRINK as it is a true one off?