• Wow. I think I have to disagree for a part.. But that might have to do with the fact that we have different sort of environment than most. Once a month we do a huge transaction in which about a million and a half records are updated. This causes the DB to temporarily grow. No issues there.

    Except that this transaction is only about 1% of the normal use of the DB. During the transaction (which is run during the weekend and is not suffering from time constraints) the DB grows with about 10 GB. We cannot change this as it is a third-party tool.

    Now I could leave the DB running the rest of the month with 65% free space but that wouldn't be very effective in terms of fragmentation and ad-hoc query performance, not to mention the 10GB of space on the SAN that is unused.

    In our case, we shrink the DB after this big transaction so the rest of the month the DB runs with better access times.

    Like with all statements, procedures and features of SQL Server: You need to think before you act, not take out features just because some people abuse them. 😉