Introdução ao Tempdb

Bom Galera, este é meu primeiro post de muitos, pretendo publicar bons conteúdos de SQL Server, Bi, novidades da área e mantê-los antenados nos eventos da comunidade em Brasília e On-line.

Vou falar hoje sobre um pouco sobre o Tempdb.

O tempdb é um banco de dados, há apenas um por instância do SQL Server e é usado por todos os outros bancos de dados no servidor. Quando as consultas SQL em execução em seus bancos de dados precisam trabalhar com dados temporários, por exemplo, a classificação de dados, isso ocorre no tempdb. Tempdb detém dados temporários, e quando o servidor é reiniciado, tempdb é recriado usando uma definição de modelo de banco de dados.

O tempdb contém informações relativas aos objetos de usuário, objetos internos e armazena dados de versão. Segue tabela descritiva de alguns objetos mais comuns:

 

DVM/Objeto

Descrição

Objetos de Usuários

Tabelas locais, tabelas temporárias e índices;

Tabelas globais temporárias e índices;

Variáveis de tabela;

Tabelas definidas pelo usuário e índices.

Objetos Internos

Ordenar os resultados;

Hash Joins;

Variáveis XML;

Tabelas de trabalho para cursores;

Armazenamento temporário de objetos grandes (LOB);

Operações de spool que armazenam resultados intermediários.

Versão de Armazenamento de Objetos

Isolamento de snapshot;

Triggers;

Vários conjuntos de resultados ativos (MARS);

Compilação de índice online.

Quando um servidor tem problemas, tempdb é uma área comum de verificação. Analisando o seu espaço livre irá eliminar preocupações ou exigir que você investigue mais, procurando mais abaixo nas sessões individuais e tarefas que o utilizam.

Você pode determinar quando espaço em tempdb tem livre usando a DMV sys.dm_db_file_usage.

Query:

SELECT SUM(user_object_reserved_page_count
+ internal_object_reserved_page_count
+ version_store_reserved_page_count
+ mixed_extent_page_count
+ unallocated_extent_page_count) * (8.0/1024.0)
AS [TotalSizeOfTempDB(MB)]
, SUM(user_object_reserved_page_count
+ internal_object_reserved_page_count
+ version_store_reserved_page_count
+ mixed_extent_page_count) * (8.0/1024.0)
AS [UsedSpace (MB)]
, SUM(unallocated_extent_page_count * (8.0/1024.0))
AS [FreeSpace (MB)]
FROM sys.dm_db_file_space_usage

Exemplo Resultado:

Imagem

Até a próxima.

SQL Server

Anúncios

Deixe uma Resposta

Preencha os seus detalhes abaixo ou clique num ícone para iniciar sessão:

Logótipo da WordPress.com

Está a comentar usando a sua conta WordPress.com Terminar Sessão / Alterar )

Imagem do Twitter

Está a comentar usando a sua conta Twitter Terminar Sessão / Alterar )

Facebook photo

Está a comentar usando a sua conta Facebook Terminar Sessão / Alterar )

Google+ photo

Está a comentar usando a sua conta Google+ Terminar Sessão / Alterar )

Connecting to %s