Aracılığıyla paylaş


.move extents komutu

Bu komut belirli bir veritabanı bağlamında çalışır. Belirtilen kapsamları kaynak tablodan hedef tabloya taşır.

Not

İzinler

Kaynak ve hedef tablolar için en az Tablo Yöneticisi izinlerine sahip olmanız gerekir.

Kısıtlamalar

  • Hem kaynak hem de hedef tabloların bağlam veritabanında olması gerekir.
  • Kaynak tablodaki tüm sütunların hedef tabloda aynı ada ve veri türüne sahip olması beklenir.
  • Hedef tablo gerçekleştirilmiş bir görünümün kaynak tablosuysa, gerçekleştirilmiş görünüm taşınan kapsamlardaki kayıtları işlemediğinden komut başarısız olabilir. Gerçekleştirilmiş görünüm sınırlamaları sayfasında daha fazla ayrıntıya bakın. Taşıma komutu sırasında yeni bir alma süresi ayarlayarak bu hataya geçici bir çözüm bulabilirsiniz. Desteklenen özellikler bölümüne bakınsetNewIngestionTime.

Sözdizimi

Tüm kapsamları taşı:

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

Kimlikle belirtilen kapsamları taşıma:

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

Sorgu sonuçları tarafından belirtilen kapsamları taşıma:

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

Söz dizimi kuralları hakkında daha fazla bilgi edinin.

Parametreler

Ad Tür Zorunlu Açıklama
async string Belirtilirse, komut zaman uyumsuz olarak çalışır.
SourceTableName string ✔️ Taşınacak kapsamları içeren tablonun adı.
DestinationTableName string ✔️ Kapsamların taşındığı tablonun adı.
PropertyName, PropertyValue string Bir veya daha fazla Desteklenen özellik.
Sorgu string ✔️ Bu Kusto Sorgu Dili (KQL) sorgusunun sonuçları, kaynak tabloyu ve ondan taşınacak kimliklerin kapsamını belirtir. "ExtentId" ve "TableName" adlı sütunları olan bir kayıt kümesi döndürmelidir.

Desteklenen özellikler

Özellik adı Type Zorunlu Açıklama
setNewIngestionTime bool olarak ayarlanırsa true, taşınmakta olan kapsamlarda tüm kayıtlara yeni bir alma zamanı atanır. Bu, kayıtların gerçekleştirilmiş görünümler ve sürekli veri dışarı aktarma gibi veritabanı imleçlerine bağlı iş yükleri tarafından işlenmesi gerektiğinde kullanışlıdır.
extentCreatedOnFrom datetime ✔️ Bu noktadan sonra oluşturulan kapsamlara uygulayın.
extentCreatedOnTo datetime ✔️ Bu noktadan önce oluşturulan kapsamlara uygulayın.

Not

Daha iyi performans için ve extentCreatedOnTo parametrelerini mümkün olan en küçük aralığa ayarlayınextentCreatedOnFrom.

Döndürülenler

Komut zaman uyumlu olarak çalıştırıldığında, aşağıdaki şemaya sahip bir tablo döndürülür.

Çıkış parametresi Type Açıklama
OriginalExtentId string Hedef tabloya taşınan kaynak tablodaki özgün kapsam için benzersiz tanımlayıcı (GUID).
ResultExtentId string Kaynak tablodan hedef tabloya taşınan sonuç kapsamı için benzersiz tanımlayıcı (GUID). Hata durumunda - "Başarısız".
Ayrıntılar string İşlemin başarısız olması durumunda hata ayrıntılarını içerir.

Komut zaman uyumsuz olarak çalıştırıldığında, bir işlem kimliği (GUID) döndürülür. .show operations komutuyla işlemin durumunu izleyin ve .show operation details komutuyla başarılı bir yürütmenin sonuçlarını alın.

Örnekler

Tüm kapsamları taşıma

Tablodaki tüm kapsamları tabloya MyTable MyOtherTabletaşıma:

.move extents all from table MyTable to table MyOtherTable

Belirtilen oluşturma zaman aralığında iki belirli kapsamı taşıma

Belirtilen oluşturma zaman aralığındaki iki belirli kapsamı (kapsam kimliklerine göre) tablodan tabloya MyTable MyOtherTabletaşıyın:

.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)

Belirli bir oluşturma zaman aralığındaki tüm kapsamları belirli tablolardan taşıma

Belirli bir oluşturma zaman aralığındaki tüm kapsamları belirli tablolardan (MyTable1, MyTable2) tabloya MyOtherTabletaşıyın:

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

Yeni alma süresi ayarlama ile tüm kapsamları taşıma

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

Örnek çıktı

OriginalExtentId ResultExtentId Ayrıntılar
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