.undo drop table 命令
適用於: ✅Microsoft網狀架構✅Azure 數據總管
此命令會將 .undo
drop
table
卸除數據表作業還原為特定資料庫版本。 資料庫版本必須是數據表刪除前的版本。
權限
您必須至少有 Database Admin 許可權才能執行此命令。
語法
.undo
drop
table
TableName [as
NewTableName] version=
版本
深入瞭解 語法慣例。
參數
姓名 | 類型 | 必要 | 描述 |
---|---|---|---|
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"
限制
- 如果清除命令已在此資料庫上執行,則復原卸除數據表命令無法執行到舊版的清除執行。
- 只有在尚未到達其所在範圍容器的硬刪除期間時,才能復原範圍。
- 如果已建立並卸除同名的數據表數次,則只能復原最近的卸除。