Compartilhar via


Comando .undo drop table

O .undodroptable comando reverte uma operação drop table para uma versão específica do banco de dados. A versão do banco de dados deve ser a versão logo antes da exclusão da tabela.

Permissões

Você deve ter pelo menos permissões de banco de dados Administração para executar esse comando.

Syntax

.undodroptableTableName [asNewTableName] version=Version

Saiba mais sobre as convenções de sintaxe.

Parâmetros

Nome Tipo Obrigatório 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 antes da exclusão da tabela. O formato é MajorVersion. MinorVersion. Para localizar a versão, consulte Localizar a versão do banco de dados necessária.

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 .showjournal comando para localizar a versão do banco de dados antes da operação de remoção ser executada. Por exemplo:

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

Retornos

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 NumberOfRecords Status FailureReason
ef296c9e-d75d-44bc-985c-b93dd2519691 100 Recuperado
370b30d7-cf2a-4997-986e-3d05f49c9689 1000 Recuperado
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 tiver sido executado neste banco de dados, o comando desfazer remover tabela não poderá ser executado em uma versão anterior para a execução de limpeza.
  • A extensão só poderá ser recuperada se o período de exclusão permanente do contêiner de extensão em que ele reside ainda não tiver sido atingido.
  • Se uma tabela com o mesmo nome tiver sido criada e descartada várias vezes, somente a remoção mais recente poderá ser desfeita.