TEMPDB

 “Após alguns processos longos que executaram durante a noite o servidor de BI parou de responder. Os serviços do SQL Server estavam iniciados, então qual o problema?”.  Estas questões são muito comuns e freqüentemente recebo questionamentos similares a esse.

Para esses casos seguem algumas dicas:

  • Verificar a concorrência ao TEMPDB;
  • Verificar se há espaço em disco, ou qualquer outro fator que limite o crescimento desta base de dados;
  • Verificar se há um bom dimensionamento para o Transaction Log do TEMPDB.

Qual a importância do TEMPDB?

Para melhor compreensão, o TEMPDB é um banco de dados de sistema muito importante e muito requisitado. As principais funções desse banco de dados são: armazenar objetos temporários e servir de área de processamento para algumas atividades.

Abaixo segue uma lista com algumas das atividades que requerem mais atenção dos recursos do TEMPDB: (essa tabela esta conforme o link: http://support.microsoft.com/default.aspx?scid=kb;en-us;328551)

  • Ações de criar e excluir tabelas temporárias sejam globais “##” ou locais “#”;
  • Variáveis do tipo Table;
  • Cursores;
  • Clausulas Order by;
  • Clausulas Group by;
  • Hash Plans;
  • Processos de Bulk Load.

Manutenção do TEMPDB

O TEMPDB não é um banco de dado comum, ele não requer que sejam feitas algumas manutenções como, por exemplo, o shrink, tão pouco executar processos de backup sobre esse banco, afinal esse banco de dados será re-criado toda a vez que o serviço do SQL Server for inicializado. Em outras palavras, voltará ao tamanho natural por definição. Além disso, esse banco de dados é expandido automaticamente durante a utilização para suportar processos de Bulk, por exemplo.

Alguns problemas

Voltando a solução dos problemas. Se o seu caso for excesso de concorrência ao banco de dados TEMPDB, sugiro limitar os processos, ou seja, quebrar em pequenos procedimentos, lembrando sempre que processos menores causam menos riscos de lock de tabelas. Já se o problema for insuficiência de espaço, o melhor mesmo é expandir. A natureza não mente, precisamos de espaço para expandir a massa, ou seja, mais registros mais disco.

Para finalizar, é importante lembrar que alguns profissionais não dão muita atenção a esse banco de dados, mas como qualquer outro banco de dados de sistema ele tem uma relevância na boa condução dos processos internos do SQL Server.

Abraço, Rodrigo

2 comentários em “TEMPDB

  1. Crespi, valeu!!! Com esse post eu consegui entender o que acontece com algumas rotinas. Obrigado.

Deixe uma resposta para Tiago CrespiCancelar resposta

Esse site utiliza o Akismet para reduzir spam. Aprenda como seus dados de comentários são processados.