Compartilhar via


Comando .undo drop table

O .undo drop table comando reverte uma operação de tabela suspensa para uma versão específica do banco de dados. A versão do banco de dados deve ser a versão imediatamente anterior à exclusão da tabela.

Permissões

Você deve ter pelo menos permissões de administrador de banco de dados para executar esse comando.

Sintaxe

.undodrop table TableName [as NewTableName] version=Versão

Saiba mais sobre as convenções de sintaxe.

Parâmetros

Nome Digitar Obrigatória Descrição
TableName string ✔️ O nome da tabela a ser restaurada.
NewTableName string Um novo nome de tabela para a tabela.
Versão string A versão do banco de dados anterior à exclusão da tabela. O formato é MajorVersion.MinorVersion. Para localizar a versão, consulte Localizar a versão necessária do banco de dados.

Observação

O comando deve ser executado no contexto do banco de dados do qual a tabela foi descartada.

Localizar a versão necessária do banco de dados

Use o .show journal comando para localizar a versão do banco de dados antes que a operação de descarte fosse executada. Por exemplo:

.show database TestDB journal
| where Event == "DROP-TABLE" and EntityName == "TestTable"
| project OriginalEntityVersion 
OriginalEntityVersion
v24.3

Devoluções

Esse comando:

  • Retorna a lista de extensões da tabela original
  • Especifica para cada extensão o número de registros que a extensão contém
  • Retorna se a operação de recuperação foi bem-sucedida ou falhou
  • Retorna o motivo da falha, se relevante.
ExtentId Número de registros Status Motivo da falha
EF296C9E-D75D-44BC-985C-B93DD2519691 100 Recuperados
370b30d7-cf2a-4997-986e-3d05f49c9689 1000 Recuperados
861F18A5-6CDE-4F1E-A003-A43506F9E8DA 855 Não é possível recuperar a extensão Contêiner de extensão: 4b47fd84-c7db-4cfb-9378-67c1de7bf154 não foi encontrado, a extensão foi removida do armazenamento e não pode ser restaurada

Exemplos

// Recover TestTable table to database version 24.3
.undo drop table TestTable version="v24.3"
// Recover TestTable table to database version 10.3 with new table name, NewTestTable (can be used if a table with the same name was already created since the drop)  
.undo drop table TestTable as NewTestTable version="v10.3"

Limitações

  • Se um comando Purge foi executado nesse banco de dados, o comando undo drop table não poderá ser executado em uma versão anterior à execução de limpeza.
  • A extensão só pode ser recuperada se o período de exclusão rígido do contêiner de extensão em que reside ainda não tiver sido atingido.
  • Se uma tabela com o mesmo nome tiver sido criada e descartada várias vezes, somente a queda mais recente poderá ser desfeita.