.move extents 命令
此命令會在特定資料庫的內容中執行。 其會將指定的延伸區從來源資料表移至目的地資料表。
注意
- 如需延伸區的詳細資訊,請參閱延伸區 (資料分區) 概觀。
- 所有來源延伸區的
.move
命令都已完成或失敗。 沒有部分結果。
權限
您至少必須具有來源和目的地數據表的數據表 管理員 許可權。
限制
- 來源和目的地資料表都必須在內容資料庫中。
- 來源資料表中的所有資料行都應該存在於具有相同名稱和資料類型的目的地資料表中。
- 如果目的地數據表是 具體化檢視的源數據表,命令可能會失敗,因為具體化檢視不會處理移動範圍中的記錄。 如需詳細數據,請參閱 具體化檢視限制 頁面。 您可以在移動命令期間設定新的擷取時間,以因應此錯誤。 請參閱
setNewIngestionTime
支持的屬性。
Syntax
移動所有範圍:
.move
[async
] extents
all
from
table
sourceTableNameto
table
DestinationTableName [ with
(
PropertyName=
PropertyValue [,
...])
]
依識別元指定的移動範圍:
.move
[async
] extents
table
from
SourceTableNameto
table
DestinationTableName [ with
(
PropertyName=
PropertyValue [,
...])
] (
GUID [,
...])
移動查詢結果所指定的範圍:
.move
[async
] extents
to
table
DestinationTableName [ with
(
PropertyName=
PropertyValue [,
...])
] <|
查詢
深入瞭解 語法慣例。
參數
名稱 | 類型 | 必要 | Description |
---|---|---|---|
async |
string |
如果指定,命令會以異步方式執行。 | |
SourceTableName | string |
✔️ | 包含要移動之範圍之數據表的名稱。 |
DestinationTableName | string |
✔️ | 要移動範圍之數據表的名稱。 |
PropertyName、 PropertyValue | string |
一或多個 支持的屬性。 | |
查詢 | string |
✔️ | 此 Kusto 查詢語言 (KQL) 查詢的結果會指定要從中移動的源數據表和範圍識別碼。 應該傳回名為 「ExtentId」 和 「TableName」 資料行的記錄集。 |
支援的屬性
屬性名稱 | 類型 | 必要 | Description |
---|---|---|---|
setNewIngestionTime |
bool |
如果設定為 true ,則會將新的 擷取時間 指派給移動範圍中的所有記錄。 當工作負載應該處理相依於 資料庫數據指標的記錄時,例如 具體化檢視 和 連續數據匯出,這非常有用。 |
|
extentCreatedOnFrom |
datetime |
✔️ | 套用在此時間點之後建立的範圍。 |
extentCreatedOnTo |
datetime |
✔️ | 套用至在此時間點之前建立的範圍。 |
注意
為了提升效能,請將 和 extentCreatedOnTo
參數設定extentCreatedOnFrom
為最小的可能範圍。
傳回
當命令以同步方式執行時,會傳回具有下列架構的數據表。
輸出參數 | 類型 | 描述 |
---|---|---|
OriginalExtentId | string |
已移至目的地資料表的來源資料表中原始延伸區的唯一識別碼 (GUID)。 |
ResultExtentId | string |
已從來源資料表移至目的地資料表的結果延伸區的唯一識別碼 (GUID)。 失敗時 -「已失敗」。 |
詳細資料 | string |
如果作業失敗,則包含失敗詳細資料。 |
當命令以異步方式執行時,會傳回作業標識碼 (GUID) 。 使用 .show operations 命令監視作業的狀態,並使用 .show 作業詳細 數據命令擷取成功執行的結果。
範例
移動所有延伸區
將資料表 MyTable
中的所有延伸區移至資料表 MyOtherTable
:
.move extents all from table MyTable to table MyOtherTable
在指定的建立時間範圍內移動兩個特定範圍
將兩個特定範圍 (依其範圍識別碼) 從資料表移至資料表MyTable
MyOtherTable
的指定建立時間範圍:
.move extents from table MyTable to table MyOtherTable with (extentCreatedOnFrom=datetime(2023-03-10), extentCreatedOnTo=datetime(2023-03-12)) (AE6CD250-BE62-4978-90F2-5CB7A10D16D7,399F9254-4751-49E3-8192-C1CA78020706)
從特定數據表移動指定建立時間範圍中的所有範圍
將指定建立時間範圍中的所有範圍從特定資料表 (MyTable1
, MyTable2
) 移至資料表 MyOtherTable
:
.move extents to table MyOtherTable with (extentCreatedOnFrom=datetime(2023-03-10), extentCreatedOnTo=datetime(2023-03-12)) <| .show tables (MyTable1,MyTable2) extents
使用設定新的擷取時間移動所有範圍
.move extents all from table MyTable to table MyOtherTable with (setNewIngestionTime=true)
範例輸出
OriginalExtentId | ResultExtentId | 詳細資料 |
---|---|---|
e133f050-a1e2-4dad-8552-1f5cf47cab69 | 0d96ab2d-9dd2-4d2c-a45e-b24c65aa6687 | |
cdbeb35b-87ea-499f-b545-defbae091b57 | a90a303c-8a14-4207-8f35-d8ea94ca45be | |
4fcb4598-9a31-4614-903c-0c67c286da8c | 97aafea1-59ff-4312-b06b-08f42187872f | |
2dfdef64-62a3-4950-a130-96b5b1083b5a | 0fb7f3da-5e28-4f09-a000-e62eb41592df |
意見反應
https://aka.ms/ContentUserFeedback。
即將登場:在 2024 年,我們將逐步淘汰 GitHub 問題作為內容的意見反應機制,並將它取代為新的意見反應系統。 如需詳細資訊,請參閱:提交並檢視相關的意見反應