Comando .undo drop table

O .undodroptable comando reverte uma operação drop table para uma versão específica da base de dados. A versão da base de dados tem de ser a versão imediatamente antes da eliminação da tabela.

Permissões

Tem de ter, pelo menos, permissões de Administração base de dados para executar este comando.

Syntax

.undodroptableTableName [asNewTableName] version=Versão

Saiba mais sobre as convenções de sintaxe.

Parâmetros

Nome Tipo Necessário Descrição
TableName string ✔️ O nome da tabela a restaurar.
NewTableName string Um novo nome de tabela para a tabela.
Versão string A versão da base de dados antes da eliminação da tabela. O formato é MajorVersion. MinorVersion. Para encontrar a versão, veja Localizar a versão da base de dados necessária.

Nota

O comando tem de ser executado no contexto da base de dados a partir da qual a tabela foi removida.

Localizar a versão da base de dados necessária

Utilize o .showjournal comando para localizar a versão da base 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

Devoluções

Este comando:

  • Devolve a lista de extensões da tabela original
  • Especifica para cada extensão o número de registos que a extensão contém
  • Devolve se a operação de recuperação foi bem-sucedida ou falhou
  • Devolve o motivo da falha, se relevante.
ExtentId NumberOfRecords Estado 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 Contentor 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 Remover tiver sido executado nesta base de dados, o comando anular a tabela de remoção não pode ser executado numa versão anterior para a execução de remoção.
  • A extensão só pode ser recuperada se o período de eliminação difícil do contentor de extensão em que reside ainda não tiver sido atingido.
  • Se uma tabela com o mesmo nome tiver sido criada e removida várias vezes, apenas a remoção mais recente pode ser anulada.