.disable | .enable materialized-view
Şunlar için geçerlidir: ✅Microsoft Fabric✅Azure Veri Gezgini
Gerçekleştirilmiş görünüm için gerçekleştirme işlemini devre dışı bırakır veya etkinleştirir.
Not
Gerçekleştirilmiş bir görünümü devre dışı bırakma/etkinleştirme ile ilgili bazı önemli performans etkileri olduğundan, bu komutu kullanmaya devam etmeden önce bunları bildiğinizden emin olun. Daha fazla bilgi için Gerçekleştirilmiş görünümleri etkinleştirme/devre dışı bırakmanın performans etkileri bölümüne bakın.
İzinler
Bu komutları çalıştırmak için en azından Gerçekleştirilmiş Görünüm Yöneticisine sahip olmanız gerekir.
Sözdizimi
.enable
| disable
materialized-view
MaterializedViewName
Söz dizimi kuralları hakkında daha fazla bilgi edinin.
Parametreler
Ad | Tür | Zorunlu | Açıklama |
---|---|---|---|
MaterializedViewName | string |
✔️ | Gerçekleştirilmiş görünümün adı. |
Döndürülenler
Gerçekleştirilmiş görünüm zaten komutun ayarlamaya çalıştığı durumdaysa, komut böyle olduğunu belirten bir hatayla başarısız olur.
Aksi takdirde, IsEnabled özelliği değiştirilmiş gerçekleştirilmiş görünüm hakkındaki ayrıntıları döndürür.
Çıkış şeması:
Adı | Tür | Açıklama |
---|---|---|
Ad | string |
Gerçekleştirilmiş görünümün adı. |
SourceTable | string |
Görünümün tanımlandığı kaynak tablonun adı. |
Sorgu | string |
Gerçekleştirilmiş görünümün sorgu tanımı. |
MaterializedTo | datetime |
Kaynak tabloda en fazla gerçekleştirilmiş ingestion_time() zaman damgası. Daha fazla bilgi için, gerçekleştirilmiş görünümlerin nasıl çalıştığına bakın. |
LastRun | datetime |
Gerçekleştirmenin en son çalıştırıldığı zaman. |
LastRunResult | string |
Son çalıştırmanın sonucu. Başarılı çalıştırmalar için döndürür Completed , aksi takdirde Failed . |
IsHealthy | bool |
true görünümün iyi durumda olduğu kabul edildiğinde, false aksi takdirde. Görünüm, son saate kadar başarıyla gerçekleştirilmişse (MaterializedTo değerinden büyüktür ago(1h) ) iyi durumda kabul edilir. |
IsEnabled | bool |
true görünüm etkinleştirildiğinde (bkz . Gerçekleştirilmiş görünümü devre dışı bırakma veya etkinleştirme). |
Klasör | string |
Gerçekleştirilmiş görünümün oluşturulduğu klasör. |
DocString | string |
Gerçekleştirilmiş görünüme atanan açıklama. |
AutoUpdateSchema | bool |
Görünümün otomatik güncelleştirmeler için etkinleştirilip etkinleştirilmediği. |
EffectiveDateTime | datetime |
Oluşturma sırasında belirlenen görünümün geçerlilik tarihi saati (bkz .create materialized-view . ). |
Geri bak | timespan |
Yinelemelerin beklendiği süreyi sınırlayan zaman aralığı. |
Örnekler
Gerçekleştirilmiş görünümü etkinleştirme
Aşağıdaki komut, ViewName gerçekleştirilmiş görünümünü etkinleştirir:
.enable materialized-view ViewName
Çıktı
Veri Akışı Adı | SourceTable | Sorgu | MaterializedTo | LastRun | LastRunResult | IsHealthy | IsEnabled | Klasör | DocString | AutoUpdateSchema | EffectiveDateTime | Geri bak |
---|---|---|---|---|---|---|---|---|---|---|---|---|
ViewName | TableName | TableName | Sütun1'e göre arg_max özetleme(Sütun3, *) | 2023-02-26T16:40:03.3345704Z | 2023-02-26T16:44:15.9033667Z | Tamamlandı | true | true | yanlış | 2023-02-23T14:01:42.5172342Z |
Gerçekleştirilmiş görünümü devre dışı bırakma
Aşağıdaki komut, gerçekleştirilmiş ViewName görünümünü devre dışı bırakır:
.disable materialized-view ViewName
Çıktı
Veri Akışı Adı | SourceTable | Sorgu | MaterializedTo | LastRun | LastRunResult | IsHealthy | IsEnabled | Klasör | DocString | AutoUpdateSchema | EffectiveDateTime | Geri bak |
---|---|---|---|---|---|---|---|---|---|---|---|---|
ViewName | TableName | TableName | Sütun1'e göre arg_max özetleme(Sütun3, *) | 2023-02-26T16:40:03.3345704Z | 2023-02-26T16:44:15.9033667Z | Tamamlandı | true | yanlış | yanlış | 2023-02-23T14:01:42.5172342Z |
Açıklamalar
Gerçekleştirilmiş görünümleri devre dışı bırakma
Gerçekleştirilmiş görünüm aşağıdaki yollardan herhangi biriyle devre dışı bırakılabilir:
- Sistem tarafından otomatik devre dışı bırakma: Gerçekleştirme kalıcı bir hatayla başarısız olursa gerçekleştirilmiş görünüm otomatik olarak devre dışı bırakılır. Bu işlem aşağıdaki örneklerde gerçekleşebilir:
- Görünüm tanımıyla tutarsız şema değişiklikleri.
- Gerçekleştirilmiş görünüm sorgusunun görsel olarak geçersiz olmasına neden olan kaynak tabloda yapılan değişiklikler.
- Gerçekleştirilmiş görünümü açıkça devre dışı bırakın: Gerçekleştirilmiş görünüm veritabanının durumunu olumsuz etkiliyorsa (örneğin, çok fazla CPU kullanıyorsanız), komutunu kullanarak
.disable materialized-view
görünümü devre dışı bırakın.
Gerçekleştirilmiş görünümler ve Satır Düzeyi Güvenliği
Gerçekleştirilmiş görünüm devre dışı bırakılırsa ve görünüm devre dışı bırakılırken birisi görünümün kaynak tablosunda satır düzeyi bir güvenlik ilkesi tanımlar, ancak gerçekleştirilmiş görünümde satır düzeyi güvenlik ilkesi tanımlanmamışsa, görünümü etkinleştirme güvenlik nedeniyle başarısız olur. Bu hatayı azaltmak için şunları yapabilirsiniz:
- Gerçekleştirilmiş görünümde satır düzeyi güvenlik ilkesini tanımlayın.
- İlkeyi etkinleştir komutuna özellik ekleyerek
allowMaterializedViewsWithoutRowLevelSecurity
hatayı yoksaymayı seçin. Örneğin:
.enable materialized-view MV with (allowMaterializedViewsWithoutRowLevelSecurity=true)
Gerçekleştirilmiş görünümleri etkinleştirme/devre dışı bırakmanın performans etkileri
- Gerçekleştirilmiş görünüm devre dışı bırakıldığında, gerçekleştirme duraklatılır ve veritabanındaki kaynakları kullanmaz. Gerçekleştirilmiş görünümün sorgulanması devre dışı bırakıldığında bile mümkündür, ancak performans düşük olabilir. Devre dışı bırakılmış gerçekleştirilmiş görünümdeki performans, devre dışı bırakıldığından beri kaynak tabloya alınan kayıtların sayısına bağlıdır.
- Daha önce devre dışı bırakılmış gerçekleştirilmiş bir görünümü etkinleştirebilirsiniz. Yeniden etkinleştirildiğinde, gerçekleştirilmiş görünüm kaldığı yerden devam eder ve hiçbir kayıt atlanmaz. Görünüm uzun süre devre dışı bırakıldıysa, görünümün tamamlanması uzun sürebilir.
- Görünümü devre dışı bırakmak yalnızca görünümün veritabanınızın durumunu etkilediğini düşünüyorsanız önerilir.