.undo drop table コマンド
.undo
drop
table
コマンドは、ドロップ テーブル操作を特定のデータベース バージョンに戻します。 データベースのバージョンは、テーブルが削除される直前のバージョンである必要があります。
アクセス許可
このコマンドを実行するには、少なくとも Database Admin アクセス許可が必要です。
構文
.undo
drop
table
TableName [as
NewTableName] version=
Version
構文規則について詳しく知る。
パラメーター
件名 | タイプ | Required | 説明 |
---|---|---|---|
TableName | string |
✔️ | 復元するテーブルの名前。 |
NewTableName | string |
テーブルの新しいテーブル名。 | |
Version | string |
テーブルの削除前のデータベース バージョン。 形式は MajorVersion.MinorVersion。 バージョンを確認するには、「 必要なデータベース バージョンを検索するを参照してください。 |
Note
このコマンドは、テーブルが削除されたデータベースのコンテキストで実行する必要があります。
必要なデータベース バージョンを検索する
.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 | 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 コマンドを実行することはできません。
- エクステントを復旧できるのは、それが存在しているエクステント コンテナーの物理的削除期間にまだ到達していない場合のみです。
- 同じ名前のテーブルが複数回作成および削除された場合は、最新のドロップのみを元に戻すことができます。