Команда undo drop table
Область применения: ✅Microsoft Fabric✅Azure Data Explorer
Команда .undo
drop
table
отменяет операцию удаления таблицы в определенную версию базы данных. Версия базы данных должна быть версией непосредственно перед удалением таблицы.
Разрешения
Для выполнения этой команды необходимо иметь по крайней мере разрешения администратора базы данных.
Синтаксис
.undo
drop
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 была выполнена в этой базе данных, команда отмены удаления таблицы не может быть выполнена в более ранней версии для выполнения очистки.
- Экстент можно восстановить только в том случае, если не достигнут период жесткого удаления контейнера экстентов, в котором он находится.
- Если таблица с тем же именем была создана и удалена несколько раз, можно отменить только последнее удаление.