Příkaz Rozsahy .move
Platí pro: ✅Azure Data Explorer
Tento příkaz se spustí v kontextu konkrétní databáze. Přesune zadané rozsahy ze zdrojové tabulky do cílové tabulky.
Poznámka:
- Další informace o rozsahech najdete v přehledu rozsahů (horizontálních oddílů dat).
- Příkaz
.move
se buď dokončí, nebo selže pro všechny zdrojové rozsahy. Neexistují žádné částečné výsledky.
Oprávnění
Pro zdrojové a cílové tabulky musíte mít alespoň oprávnění správce tabulky.
Omezení
- Zdrojové i cílové tabulky musí být v kontextové databázi.
- Očekává se, že všechny sloupce ve zdrojové tabulce budou existovat v cílové tabulce se stejným názvem a datovým typem.
- Pokud je cílovou tabulkou zdrojová tabulka materializovaného zobrazení, příkaz může selhat, protože materializované zobrazení nezpracuje záznamy v přesunutých rozsahech. Další podrobnosti najdete na stránce omezení materializovaných zobrazení. Tuto chybu můžete obejít nastavením nové doby příjmu dat během příkazu pro přesunutí. Viz
setNewIngestionTime
podporované vlastnosti.
Syntaxe
Přesunout všechny rozsahy:
.move
[async
] extents
all
table
from
sourceTableName DestinationTableName table
to
[ with
(
PropertyName =
PropertyValue [,
...]])
Rozsahy přesunutí určené ID:
.move
[async
] extents
table
from
SourceTableName DestinationTableName table
to
[ with
(
PropertyName =
PropertyValue [,
...]] (
)
GUID [,
...])
Rozsahy přesunutí určené výsledky dotazu:
.move
[async
] extents
to
table
DestinationTableName [ with
(
PropertyName =
PropertyValue [,
...]] <|
)
Dotaz
Přečtěte si další informace o konvencích syntaxe.
Parametry
Název | Type | Požadováno | Popis |
---|---|---|---|
async |
string |
Pokud je zadaný, příkaz se spustí asynchronně. | |
SourceTableName | string |
✔️ | Název tabulky obsahující rozsahy, které se mají přesunout. |
DestinationTableName | string |
✔️ | Název tabulky, do které se mají rozsahy přesunout. |
PropertyName, PropertyValue | string |
Jedna nebo více podporovaných vlastností. | |
Dotaz | string |
✔️ | Výsledky tohoto dotazu dotazovací jazyk Kusto (KQL) určují zdrojkou tabulku a ID rozsahu, ze které se mají přesunout. Měla by vrátit sadu záznamů se sloupci s názvem ExtentId a TableName. |
Podporované vlastnosti
Název vlastnosti | Typ | Požadováno | Popis |
---|---|---|---|
setNewIngestionTime |
bool |
Pokud je nastavená hodnota true , přiřadí se nový čas příjmu dat ke všem záznamům v rozsahu, který se přesouvá. To je užitečné, když by záznamy měly zpracovávat úlohy, které závisí na kurzorech databáze, jako jsou materializovaná zobrazení a průběžný export dat. |
|
extentCreatedOnFrom |
datetime |
✔️ | Platí pro rozsahy vytvořené po tomto bodu v čase. |
extentCreatedOnTo |
datetime |
✔️ | Platí pro rozsahy vytvořené před tímto bodem v čase. |
Poznámka:
Pokud chcete dosáhnout lepšího výkonu, nastavte extentCreatedOnFrom
parametry extentCreatedOnTo
na nejmenší možný rozsah.
Návraty
Při synchronním spuštění příkazu se vrátí tabulka s následujícím schématem.
Výstupní parametr | Typ | Popis |
---|---|---|
OriginalExtentId | string |
Jedinečný identifikátor (GUID) původního rozsahu ve zdrojové tabulce, který byl přesunut do cílové tabulky. |
ResultExtentId | string |
Jedinečný identifikátor (GUID) pro rozsah výsledků přesunutý ze zdrojové tabulky do cílové tabulky. Při selhání – Chyba |
Detaily | string |
Obsahuje podrobnosti o selhání v případě selhání operace. |
Při asynchronním spuštění příkazu se vrátí ID operace (GUID). Pomocí příkazu operace .show monitorujte stav operace a načtěte výsledky úspěšného spuštění pomocí příkazu Podrobnosti operace .show.
Příklady
Přesunout všechny rozsahy
Přesunutí všech rozsahů v tabulce do tabulky MyTable
MyOtherTable
:
.move extents all from table MyTable to table MyOtherTable
Přesunutí dvou konkrétních rozsahů v zadaném časovém rozsahu vytváření
Přesunutí dvou konkrétních rozsahů (podle jejich ID rozsahu) v zadaném časovém rozsahu vytváření z tabulky MyTable
do tabulky 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)
Přesunutí všech rozsahů v zadaném časovém rozsahu vytváření z konkrétních tabulek
Přesunutí všech rozsahů v zadaném časovém rozsahu vytváření z konkrétních tabulek (MyTable1
, MyTable2
) do tabulky MyOtherTable
:
.move extents to table MyOtherTable with (extentCreatedOnFrom=datetime(2023-03-10), extentCreatedOnTo=datetime(2023-03-12)) <| .show tables (MyTable1,MyTable2) extents
Přesun všech rozsahů s nastaveným časem příjmu dat
.move extents all from table MyTable to table MyOtherTable with (setNewIngestionTime=true)
Ukázkový výstup
OriginalExtentId | ResultExtentId | Detaily |
---|---|---|
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 |