共用方式為


.undo drop table 命令

適用於: ✅Microsoft網狀架構Azure 數據總管

此命令會將 .undo drop table 卸除數據表作業還原為特定資料庫版本。 資料庫版本必須是數據表刪除前的版本。

權限

您必須至少有 Database Admin 許可權才能執行此命令。

語法

.undodrop table TableName [as NewTableName] version=版本

深入瞭解 語法慣例

參數

姓名 類型​​ 必要 描述
TableName string ✔️ 要還原的數據表名稱。
NewTableName string 數據表的新數據表名稱。
版本 string 刪除數據表之前的資料庫版本。 格式為 MajorVersionMinorVersion。 若要尋找版本,請參閱 尋找所需的資料庫版本

注意

命令必須在卸除數據表的資料庫內容中執行。

尋找所需的資料庫版本

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

限制

  • 如果清除命令已在此資料庫上執行,則復原卸除數據表命令無法執行到舊版的清除執行。
  • 只有在尚未到達其所在範圍容器的硬刪除期間時,才能復原範圍。
  • 如果已建立並卸除同名的數據表數次,則只能復原最近的卸除。