Il database tempdb viene utilizzato da SQL Server per gestire tutti quegli oggetti non persistenti quali tabelle temporanee (quelle che iniziano per # o ##), variabili temporanee (quelle che iniziano per @), ma anche per tanti altri oggetti (soprattutto in SQL Server 2005) usati durante l'elaborazione.
Vi segnalo alcuni articoli Microsoft che fanno chiarezza su questi argomenti:
Working with tempdb in SQL Server 2005
Capacity
Planning for tempdbOptimizing tempdb performance