For the longest time the guidance around tempdb is that if you shrink it on a live system then it could cause tempdb corruption.
A few months ago I was discussing this with my good friend Bob Ward from Product Support and neither of us could remember the last time we’d seen a case of tempdb corruption that had been caused by shrinking. So we both did some investigations, including looking through the internal bug databases, to find the root cause of the long-running advice.
The bottom line is that tempdb corruption hasn’t been a problem with shrink since early builds of SQL Server 2000. There was also some extensive testing done to verify this.
As such, the KB article that discusses shrinking tempdb has been updated and I got notification last night from the author that it’s been published.
KB 307487 (How to shrink the tempdb database in SQL Server) now explains that even though you may see messages from shrink that look like corruption, they’re not.
Remember though, shrinking should be a rare operation, whether data or log file shrinking – and never a regular operation.