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

Author: SQLCrespi

Rodrigo Crespi é MVP Data Platform, MCT, MCSE, MCSA, MCIT, MCDBA e MCP em SQL Server, possuí outras certificações em .NET Framework, Dynamics CRM e etc. Iniciou trabalhando com SQL Server na versão 6.5 na época como desenvolvedor, logo direcionou a sua carreira para a área de administração de bancos de dados. Atualmente é Sócio da CrespiDB – Soluções em Plataformas de Dados, além de professor universitário na Uniftec – Caxias do Sul Autor de diversos artigos publicados em sites e revistas sobre SQL Server e engenharia de software, mantem o canal SQLCrespi no Youtube, o blog SQLCrespi, além de ser dedicado ao SQL Server RS PASS Chapter Leader do grupo de profissionais em SQL Server do Rio Grande do Sul.

2 thoughts on “TEMPDB

Deixe uma resposta