• I had the same problem. There was no way to shrink the tempdb datafile. Eventually I was able to clear the immovable objects from the tempdb and then shrink the tempdb. Below DBCC statements will impact performance (since you're flushing SQL Server's cache), but you won't disconnect your sessions. It's a better option than bouncing the service in my point of view.

    DBCC FREESYSTEMCACHE ('ALL')

    DBCC FREEPROCCACHE

    USE [tempdb]

    GO

    DBCC SHRINKFILE (N'tempdev' , 1000)

    I found this information here: http://social.msdn.microsoft.com/Forums/en-US/sqldatabaseengine/thread/2a00c314-f35e-4900-babb-f42dcde1944b