Поделиться через


Команда undo drop table

Область применения: ✅Microsoft Fabric✅Azure Data Explorer

Команда .undo drop table отменяет операцию удаления таблицы в определенную версию базы данных. Версия базы данных должна быть версией непосредственно перед удалением таблицы.

Разрешения

Для выполнения этой команды необходимо иметь по крайней мере разрешения администратора базы данных.

Синтаксис

.undodrop table TableName [as NewTableName] version=Версия

Дополнительные сведения о соглашениях синтаксиса.

Параметры

Имя (название) Type Обязательно Описание
TableName string ✔️ Имя восстанавливаемой таблицы.
NewTableName string Новое имя таблицы для таблицы.
Версия string Версия базы данных до удаления таблицы. Формат MajorVersion.MinorVersion. Чтобы найти версию, см. статью "Найти требуемую версию базы данных".

Примечание.

Команда должна выполняться в контексте базы данных, из которой была удалена таблица.

Поиск требуемой версии базы данных

.show journal Используйте команду, чтобы найти версию базы данных до выполнения операции удаления. Например:

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

Возвраты

Команда:

  • Возвращает исходный список экстентов таблицы
  • Указывает для каждого экстента количество записей, содержащих экстент.
  • Возвращается, если операция восстановления завершилась успешно или завершилась сбоем
  • Возвращает причину сбоя, если это необходимо.
ExtentId NumberOfRecords Состояние FailureReason
ef296c9e-d75d-44bc-985c-b93dd2519691 100 Выздоровевший
370b30d7-cf2a-4997-986e-3d05f49c9689 1000 Выздоровевший
861f18a5-6cde-4f1e-a003-a43506f9e8da 855 Не удалось восстановить экстент Контейнер экстентов: 4b47fd84-c7db-4cfb-9378-67c1de7bf154 не найден, экстент был удален из хранилища и не может быть восстановлен

Примеры

// 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"

Ограничения

  • Если команда Purge была выполнена в этой базе данных, команда отмены удаления таблицы не может быть выполнена в более ранней версии для выполнения очистки.
  • Экстент можно восстановить только в том случае, если не достигнут период жесткого удаления контейнера экстентов, в котором он находится.
  • Если таблица с тем же именем была создана и удалена несколько раз, можно отменить только последнее удаление.