Comando .move extents
Si applica a: ✅Azure Esplora dati
Questo comando viene eseguito nel contesto di un database specifico. Sposta gli extent specificati dalla tabella di origine alla tabella di destinazione.
Nota
- Per altre informazioni sugli extent, vedere Panoramica degli extent (partizioni di dati).
- Un
.move
comando viene completato o ha esito negativo per tutti gli extent di origine. Non esistono risultati parziali.
Autorizzazioni
È necessario disporre almeno delle autorizzazioni di amministratore tabella per le tabelle di origine e di destinazione.
Restrizioni
- Sia le tabelle di origine che di destinazione devono trovarsi nel database di contesto.
- Tutte le colonne della tabella di origine dovrebbero esistere nella tabella di destinazione con lo stesso nome e tipo di dati.
- Se la tabella di destinazione è una tabella di origine di una vista materializzata, il comando potrebbe non riuscire perché la vista materializzata non elabora i record negli extent spostati. Per altri dettagli, vedere la pagina delle limitazioni delle visualizzazioni materializzate. È possibile risolvere questo errore impostando un nuovo tempo di inserimento durante il comando di spostamento. Vedere
setNewIngestionTime
nelle proprietà supportate.
Sintassi
Spostare tutti gli extent:
.move
[async
] extents
from
table
all
sourceTableName table
to
DestinationTableName [ with
(
PropertyName =
PropertyValue [,
...]])
Spostare gli extent specificati dall'ID:
.move
[async
] extents
from
table
SourceTableName table
to
DestinationTableName [ with
(
PropertyName =
PropertyValue [,
...]] (
)
GUID [,
...])
Spostare gli extent specificati dai risultati della query:
.move
[async
] extents
to
table
DestinationTableName [ with
(
PropertyName =
PropertyValue [,
...]] <|
)
Quesito
Altre informazioni sulle convenzioni di sintassi.
Parametri
Nome | Digita | Obbligatorio | Descrizione |
---|---|---|---|
async |
string |
Se specificato, il comando viene eseguito in modo asincrono. | |
SourceTableName | string |
✔️ | Nome della tabella contenente gli extent da spostare. |
DestinationTableName | string |
✔️ | Nome della tabella in cui spostare gli extent. |
PropertyName, PropertyValue | string |
Una o più proprietà supportate. | |
Query | string |
✔️ | I risultati di questa query Linguaggio di query Kusto (KQL) specificano la tabella di origine e gli ID extent da spostare. Deve restituire un recordset con colonne denominate "ExtentId" e "TableName". |
Proprietà supportate
Nome proprietà | Type | Obbligatorio | Descrizione |
---|---|---|---|
setNewIngestionTime |
bool |
Se impostato su true , viene assegnato un nuovo tempo di inserimento a tutti i record in extent spostati. Ciò è utile quando i record devono essere elaborati dai carichi di lavoro che dipendono dai cursori del database, ad esempio viste materializzate ed esportazione continua dei dati. |
|
extentCreatedOnFrom |
datetime |
✔️ | Applicare gli extent creati dopo questo punto nel tempo. |
extentCreatedOnTo |
datetime |
✔️ | Applicare gli extent creati prima di questo punto nel tempo. |
Nota
Per prestazioni migliori, impostare extentCreatedOnFrom
e extentCreatedOnTo
parametri sull'intervallo più piccolo possibile.
Valori restituiti
Quando il comando viene eseguito in modo sincrono, viene restituita una tabella con lo schema seguente.
Parametro di output | Tipo | Descrizione |
---|---|---|
OriginalExtentId | string |
Identificatore univoco (GUID) per l'extent originale nella tabella di origine, spostato nella tabella di destinazione. |
ResultExtentId | string |
Identificatore univoco (GUID) per l'extent del risultato spostato dalla tabella di origine alla tabella di destinazione. In caso di errore: "Non riuscito". |
Dettagli | string |
Include i dettagli dell'errore, nel caso in cui l'operazione non riesca. |
Quando il comando viene eseguito in modo asincrono, viene restituito un ID operazione (GUID). Monitorare lo stato dell'operazione con il comando operazioni .show e recuperare i risultati di un'esecuzione riuscita con il comando .show operation details .
Esempi
Spostare tutti gli extent
Spostare tutti gli extent della tabella nella tabella MyTable
MyOtherTable
:
.move extents all from table MyTable to table MyOtherTable
Spostare due extent specifici in un intervallo di tempo di creazione specificato
Spostare due extent specifici (in base ai relativi ID extent) in un intervallo di tempo di creazione specificato dalla tabella MyTable
alla tabella 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)
Spostare tutti gli extent in un intervallo di tempo di creazione specificato da tabelle specifiche
Spostare tutti gli extent in un intervallo di tempo di creazione specificato da tabelle specifiche (MyTable1
, MyTable2
) alla tabella MyOtherTable
:
.move extents to table MyOtherTable with (extentCreatedOnFrom=datetime(2023-03-10), extentCreatedOnTo=datetime(2023-03-12)) <| .show tables (MyTable1,MyTable2) extents
Spostare tutti gli extent con impostare il nuovo tempo di inserimento
.move extents all from table MyTable to table MyOtherTable with (setNewIngestionTime=true)
Output di esempio
OriginalExtentId | ResultExtentId | Dettagli |
---|---|---|
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 |