Freigeben über


Befehl ".move extents"

Dieser Befehl wird im Kontext einer bestimmten Datenbank ausgeführt. Sie verschiebt die angegebenen Ausdehnungen aus der Quelltabelle in die Zieltabelle.

Hinweis

  • Weitere Informationen zu Ausmaßen finden Sie unter "Extents(Data Shards)" (Übersicht).
  • Ein .move Befehl wird entweder abgeschlossen oder schlägt für alle Quellausdehnungen fehl. Es gibt keine teiliellen Ergebnisse.

Berechtigungen

Sie müssen mindestens über Tabellenadministratorberechtigungen für die Quell- und Zieltabellen verfügen.

Beschränkungen

  • Quell- und Zieltabellen müssen sich in der Kontextdatenbank befinden.
  • Es wird erwartet, dass alle Spalten in der Quelltabelle mit demselben Namen und Datentyp in der Zieltabelle vorhanden sind.
  • Wenn es sich bei der Zieltabelle um eine Quelltabelle einer materialisierten Ansicht handelt, schlägt der Befehl möglicherweise fehl, da die materialisierte Ansicht die Datensätze in den verschobenen Ausmaßen nicht verarbeitet. Weitere Details finden Sie auf der Seite mit den Einschränkungen für materialisierte Ansichten . Sie können diesen Fehler umgehen, indem Sie während des Bewegungsbefehls eine neue Aufnahmezeit festlegen. Siehe setNewIngestionTime in unterstützten Eigenschaften.

Syntax

Alle Ausmaße verschieben:

.move[async] extents all from table sourceTableName DestinationTableName to table [ PropertyName = PropertyValue [, (with...]])

Durch ID angegebene Verschiebungsausdehnungen:

.move[async] extents table from SourceTableName DestinationTableName table to [ with(PropertyName = PropertyValue [, ...]] ( )GUID [, ...])

Durch Abfrageergebnisse angegebene Verschiebungsausdehnungen:

.move[async] extents table to DestinationTableName [ with(PropertyName = PropertyValue [,...]] <| )Frage

Erfahren Sie mehr über Syntaxkonventionen.

Parameter

Name Type Erforderlich Beschreibung
async string Wenn angegeben, wird der Befehl asynchron ausgeführt.
SourceTableName string ✔️ Der Name der Tabelle, die die zu verschiebenden Ausmaße enthält.
DestinationTableName string ✔️ Der Name der Tabelle, in die die Ausmaße verschoben werden sollen.
PropertyName, PropertyValue string Mindestens eine unterstützte Eigenschaft.
Abfrage string ✔️ Die Ergebnisse dieser Kusto-Abfragesprache-Abfrage (KQL) geben die Quelltabelle und die Umfangs-IDs an, aus der sie verschoben werden sollen. Sollte ein Recordset mit Spalten namens "ExtentId" und "TableName" zurückgeben.

Unterstützte Eigenschaften

Eigenschaftenname Type Erforderlich Beschreibung
setNewIngestionTime bool Bei Festlegung auf true, wird allen Datensätzen, die verschoben werden, eine neue Aufnahmezeit zugewiesen. Dies ist nützlich, wenn Datensätze von Arbeitslasten verarbeitet werden sollen, die von Datenbankcursorn abhängig sind, z . B. materialisierte Ansichten und fortlaufender Datenexport.
extentCreatedOnFrom datetime ✔️ Wenden Sie nach diesem Zeitpunkt erstellte Erweiterungen an.
extentCreatedOnTo datetime ✔️ Wenden Sie sich auf Soweit, die vor diesem Zeitpunkt erstellt wurden.

Hinweis

Um eine bessere Leistung zu erzielen, legen Sie extentCreatedOnFrom und extentCreatedOnTo Parameter auf den kleinsten möglichen Bereich fest.

Gibt zurück

Wenn der Befehl synchron ausgeführt wird, wird eine Tabelle mit dem folgenden Schema zurückgegeben.

Ausgabeparameter Typ Beschreibung
OriginalExtentId string Ein eindeutiger Bezeichner (GUID) für das ursprüngliche Ausmaß in der Quelltabelle, der in die Zieltabelle verschoben wurde.
ResultExtentId string Ein eindeutiger Bezeichner (GUID) für das Ergebnis, das aus der Quelltabelle in die Zieltabelle verschoben wurde. Bei Fehler - "Fehlgeschlagen".
Details string Enthält die Fehlerdetails, falls der Vorgang fehlschlägt.

Wenn der Befehl asynchron ausgeführt wird, wird eine Vorgangs-ID (GUID) zurückgegeben. Überwachen Sie den Status des Vorgangs mit dem Befehl ".show operations " und rufen Sie die Ergebnisse einer erfolgreichen Ausführung mit dem Befehl ".show operation details " ab.

Beispiele

Alle Ausdehnungen verschieben

Verschieben aller Ausdehnungen in Tabelle zu Tabelle MyTable MyOtherTable:

.move extents all from table MyTable to table MyOtherTable

Verschieben von zwei spezifischen Ausmaßen in einem angegebenen Erstellungszeitbereich

Verschieben von zwei spezifischen Bereichen (in ihrem Umfang IDs) in einem angegebenen Erstellungszeitbereich von Tabelle MyTable zu Tabelle 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)

Verschieben aller Ausdehnungen in einem angegebenen Erstellungszeitbereich aus bestimmten Tabellen

Verschieben aller Ausdehnungen in einem angegebenen Erstellungszeitbereich von bestimmten Tabellen (MyTable1, MyTable2) in eine Tabelle MyOtherTable:

.move extents to table MyOtherTable with (extentCreatedOnFrom=datetime(2023-03-10), extentCreatedOnTo=datetime(2023-03-12)) <| .show tables (MyTable1,MyTable2) extents

Verschieben aller Ausdehnungen mit festlegen der neuen Aufnahmezeit

.move extents all from table MyTable to table MyOtherTable with (setNewIngestionTime=true)

Beispielausgabe

OriginalExtentId ResultExtentId Details
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