Observação
O acesso a essa página exige autorização. Você pode tentar entrar ou alterar diretórios.
O acesso a essa página exige autorização. Você pode tentar alterar os diretórios.
tempdb é um banco de dados do sistema PDW do SQL Server que armazena tabelas temporárias locais para bancos de dados de usuário. Tabelas temporárias geralmente são usadas para melhorar o desempenho da consulta. Por exemplo, você pode usar uma tabela temporária para modularizar um script e reutilizar dados computados.
Para obter mais informações sobre bancos de dados do sistema, consulte Bancos de Dados do Sistema.
Principais termos e conceitos
tabela temporária local
Uma tabela temporária local usa o prefixo # antes do nome da tabela e é uma tabela temporária criada por uma sessão de usuário local. Cada sessão só pode acessar os dados em tabelas temporárias locais para sua própria sessão.
Cada sessão pode exibir os metadados de tabelas temporárias locais em todas as sessões. Por exemplo, todas as sessões podem exibir os metadados de todas as tabelas temporárias locais com a SELECT * FROM tempdb.sys.tables consulta.
tabela temporária global
Não há suporte para tabelas temporárias globais com suporte no SQL Server com a sintaxe ## nesta versão do SQL Server PDW.
pdwtempdb
pdwtempdb é o banco de dados que armazena tabelas temporárias locais.
O PDW não implementa tabelas temporárias usando o banco de dados tempdb do SQL Server. Em vez disso, o PDW os armazena em um banco de dados chamado pdwtempdb. Esse banco de dados existe em cada nó de computação e é invisível para o usuário por meio das interfaces PDW. No Console de Administração, na página de armazenamento, você verá estes contabilizados em um banco de dados do sistema PDW chamado tempdb-sql.
tempdb (banco de dados temporário)
tempdb é o banco de dados tempdb do SQL Server. Ele usa registro em log mínimo. O SQL Server usa tempdb nos nós de computação para armazenar tabelas temporárias de que precisa durante a execução de operações do SQL Server.
O PDW do SQL Server descarta tabelas do tempdb quando:
A instrução DROP TABLE é executada.
A sessão foi desconectada. Somente as tabelas temporárias para a sessão são descartadas.
O equipamento está desligado.
O nó de controle tem tolerância a falhas do cluster.
Comentários gerais
O SQL Server PDW executa as mesmas operações em tabelas temporárias e tabelas permanentes, a menos que explicitamente declarado o contrário. Por exemplo, os dados em tabelas temporárias locais, assim como tabelas permanentes, são distribuídos ou replicados entre os nós de computação.
Limitações e restrições
Limitações e restrições no banco de dados tempdb do SQL Server PDW. Você não pode:
Crie uma tabela temporária global que comece com ##.
Execute um backup ou restauração do tempdb.
Modifique permissões para tempdb com as instruções GRANT, DENY ou REVOKE .
Execute DBCC SHRINKLOG para o banco de dados tempdb.
Execute operações DDL no tempdb. Há algumas exceções a isso. Para obter detalhes, consulte a lista a seguir de limitações e restrições em tabelas temporárias locais.
Limitações e restrições em tabelas temporárias locais. Você não pode:
Renomear uma tabela temporária
Crie partições, exibições ou índices não clusterizados em uma tabela temporária. ALTER INDEX pode ser usado para reconstruir um índice clusterizado para uma tabela criada com ele.
Modifique as permissões para tabelas temporárias com as instruções GRANT, DENY ou REVOKE.
Execute comandos do console de banco de dados em tabelas temporárias.
Use o mesmo nome para duas ou mais tabelas temporárias no mesmo lote. Se mais de uma tabela temporária local for usada em um lote, cada uma precisará ter um nome exclusivo. Se várias sessões estiverem executando o mesmo lote e criando a mesma tabela temporária local, o SQL Server PDW anexará internamente um sufixo numérico ao nome da tabela temporária local para manter um nome exclusivo para cada tabela temporária local.
Observação
Você pode criar e atualizar estatísticas em uma tabela temporária. ALTER INDEX pode ser usado para recriar um índice clusterizado.
Permissões
Qualquer usuário pode criar objetos temporários no tempdb. Os usuários só podem acessar seus próprios objetos, a menos que recebam permissões adicionais. É possível revogar a permissão de conexão para tempdb para impedir que um usuário use tempdb, mas isso não é recomendado, pois algumas operações de rotina exigem o uso do tempdb.
Tarefas Relacionadas
| Tarefas | Descrição |
|---|---|
| Crie uma tabela no tempdb. | Você pode criar uma tabela temporária de usuário com as instruções CREATE TABLE e CREATE TABLE AS SELECT. Para obter mais informações, consulte CREATE TABLE e CREATE TABLE AS SELECT. |
| Exibir uma lista de tabelas existentes no tempdb. | SELECT * FROM tempdb.sys.tables; |
| Exibir uma lista de colunas existentes no tempdb. | SELECT * FROM tempdb.sys.columns; |
| Exibir uma lista de objetos existentes no tempdb. | SELECT * FROM tempdb.sys.objects; |