O TEMPDB é um banco de dados de sistema altamente utilizado pelo SQL Server. Ele armazena objetos temporários como tabelas e procedures criados por todas as conexões de usuários e tabelas de trabalho criadas pelo próprio SQL Server.
Algumas operações que fazem uso intensivo do TEMPDB são:
1. Criação e exclusão de tabelas temporárias, sejam elas globais (##TABLE) ou locais (#TABLE),
2. Operações que utilizam CURSORES,
3. Operações que utilizam ORDER BY ou GROUP BY,
4. Operações que utilizam HASH PLAN,
5. Variáveis do tipo tabela que utilizam o TEMPDB para armazenamento temporário de informações,
Como o TEMPDB armazena apenas objetos temporários e todos estes objetos são excluídos assim que a conexão do usuário é fechada, não existe necessidade de se fazer backup desta base, mesmo porque, o TEMPDB é recriado a cada vez que o SQL Server é reiniciado, gerando assim uma cópia novinha do banco de dados.
Por padrão, o TEMPDB é expandido automaticamente durante a utilização do SQL Server para suportar a carga de processamento do sistema. Mas, diferente dos outros bancos de dados, ele tem seu tamanho reduzido ao valor inicial a cada vez que o SQL Server é reiniciado.
O grande problema é que em um ambiente onde o TEMPDB é altamente utilizado, o SQL Server pode sofrer problemas de contenção quando ele tenta alocar páginas para novos objetos. Dependendo do grau de contenção, o SQL Server pode até parar de responder por alguns minutos.
Para saber mais sobre o problema e como fazer para otimizar a utilização do TEMPDB, visite o link http://support.microsoft.com/default.aspx?scid=kb;en-us;328551
Obs: Ao que tudo indica, esta otimização no TEMPDB já estará presente no SQL Server 2005. Saiba mais lendo o artigo Is this TEMPDB optimization built into SQL Server 2005? (And other I/O topics).

