.move extents コマンド

このコマンドは、特定のデータベースのコンテキストで実行されます。 このコマンドは、指定したエクステントをソース テーブルからターゲット テーブルに移動します。

Note

  • エクステントの詳細については、エクステント (データ シャード) の概要に関するセクションを参照してください。
  • .move コマンドは、すべてのソース エクステントに対して完了または失敗します。 部分的な結果はありません。

アクセス許可

ソース テーブルと変換先テーブルに対して、少なくとも Table 管理 権限が必要です。

制限

  • ソース テーブルとターゲット テーブルはどちらもコンテキスト データベース内に存在する必要があります。
  • ソース テーブルのすべての列と同じ名前、同じデータ型のものが、ターゲット テーブルにも存在するものと想定されています。
  • 変換先テーブルが 具体化されたビューのソース テーブルの場合、具体化されたビューでは移動されたエクステント内のレコードが処理されないため、コマンドが失敗する可能性があります。 詳細については、 具体化されたビューの制限に関するページを 参照してください。 このエラーを回避するには、移動コマンド中に新しいインジェスト時間を設定します。 サポートされているプロパティを参照してくださいsetNewIngestionTime

構文

すべてのエクステントを移動します。

.move[async] extentstableallfromsourceTableNametotableDestinationTableName [ with(PropertyName=PropertyValue [, ...])]

ID で指定されたエクステントを移動します。

.move [async] extentsfromtableSourceTableNametotableDestinationTableName [ with(PropertyName=PropertyValue [, ...])] (GUID [, ...] )

クエリ結果で指定されたエクステントを移動します。

.move[async] extentstabletoDestinationTableName [ with(PropertyName=PropertyValue [,...])] <|クエリ

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

パラメーター

名前 必須 説明
async string 指定した場合、コマンドは非同期的に実行されます。
SourceTableName string ✔️ 移動するエクステントを含むテーブルの名前。
DestinationTableName string ✔️ エクステントの移動先となるテーブルの名前。
PropertyNamePropertyValue string 1 つ以上 のサポートされるプロパティ
クエリ string ✔️ このKusto 照会言語 (KQL) クエリの結果は、ソース テーブルと、そこから移動するエクステント ID を指定します。 "ExtentId" と "TableName" という列を持つレコードセットを返す必要があります。

サポートされているプロパティ

プロパティ名 Type 必須 説明
setNewIngestionTime bool に設定すると true、移動するエクステント内のすべてのレコードに新しい インジェスト時間 が割り当てられます。 これは、具体化されたビュー継続的なデータ エクスポートなど、データベース カーソルに依存するワークロードによってレコードを処理する必要がある場合に便利です。
extentCreatedOnFrom datetime ✔️ この時点以降に作成されたエクステントに適用されます。
extentCreatedOnTo datetime ✔️ この時点より前に作成されたエクステントに適用されます。

注意

パフォーマンスを向上させるには、 パラメーターと extentCreatedOnTo パラメーターを可能な限り最小の範囲に設定extentCreatedOnFromします。

戻り値

コマンドを同期的に実行すると、次のスキーマを持つテーブルが返されます。

出力パラメーター 説明
OriginalExtentId string ターゲット テーブルに移動されたソース テーブル内の元のエクステントの一意識別子 (GUID)。
ResultExtentId string ソース テーブルからターゲット テーブルに移動された結果のエクステントの一意識別子 (GUID)。 失敗した場合 - "Failed"。
詳細 string 操作が失敗した場合は、その失敗の詳細が格納されます。

コマンドを非同期に実行すると、操作 ID (GUID) が返されます。 .show operations コマンドを使用して操作の状態を監視し、.show operation details コマンドを使用して正常に実行された結果を取得します。

すべてのエクステントを移動する

テーブル MyTable のすべてのエクステントをテーブル MyOtherTable に移動します。

.move extents all from table MyTable to table MyOtherTable

指定した作成時間範囲内で 2 つの特定のエクステントを移動する

指定した作成時間範囲の 2 つの特定のエクステント (エクステント ID によって) をテーブルからテーブル 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)

指定した作成時間範囲内のすべてのエクステントを特定のテーブルから移動する

指定した作成時間範囲内のすべてのエクステントを、特定のテーブル (MyTable1MyTable2) からテーブル に移動します 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