次の方法で共有


.undo drop table コマンド

.undodroptable コマンドは、テーブル削除操作を特定のデータベース バージョンに戻します。 データベースのバージョンは、テーブルを削除する直前のバージョンである必要があります。

アクセス許可

このコマンドを実行するには、少なくともデータベース管理アクセス許可が必要です。

構文

.undodroptableTableName [asNewTableName] version=バージョン

構文規則について詳しく知る。

パラメーター

名前 必須 説明
TableName string ✔️ 復元するテーブルの名前。
NewTableName string テーブルの新しいテーブル名。
Version string テーブルの削除前のデータベース バージョン。 形式は MajorVersion ですMinorVersion。 バージョンを確認するには、「 必要なデータベースのバージョンを検索する」を参照してください。

注意

コマンドは、テーブルが削除されたデータベースのコンテキストで実行する必要があります。

必要なデータベース バージョンを検索する

コマンドを .showjournal 使用して、削除操作が実行される前のデータベースのバージョンを検索します。 例:

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

戻り値

このコマンドは、次の操作を行います。

  • 元のテーブル エクステント リストを返します
  • エクステントに含まれるレコードの数をエクステントごとに指定します
  • 復旧操作が成功または失敗したかどうかを返します
  • 該当する場合は失敗の理由を返します。
ExtentId NumberOfRecords Status FailureReason
ef296c9e-d75d-44bc-985c-b93dd2519691 100 Recovered
370b30d7-cf2a-4997-986e-3d05f49c9689 1000 Recovered
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 コマンドが実行された場合、消去を実行する前のバージョンに対して undo drop table コマンドを実行することはできません。
  • エクステントを復旧できるのは、それが存在しているエクステント コンテナーの物理的削除期間にまだ到達していない場合のみです。
  • 同じ名前のテーブルが複数回作成および削除された場合は、最新の削除のみを元に戻すことができます。