Sdílet prostřednictvím


Příkaz Rozsahy .move

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