Gerçekleştirilmiş görünümleri izleme
Şunlar için geçerlidir: ✅Microsoft Fabric✅Azure Veri Gezgini
Gerçekleştirilmiş görünümün durumunu aşağıdaki yollarla izleyin:
- Azure portalında gerçekleştirilmiş görünüm ölçümlerini izleyin.
- Gerçekleştirilmiş görünüm yaşı ölçümü
MaterializedViewAgeSeconds
, görünümün güncelliğini izlemek için kullanılmalıdır. Bu, izlenecek birincil ölçüm olmalıdır.
- Gerçekleştirilmiş görünüm yaşı ölçümü
- uygulamasından
IsHealthy
.show materialized-view
döndürülen özelliği izleyin. - kullanarak
.show materialized-view failures
hataları denetleyin.
Not
Sürekli hatalar olsa bile, gerçekleştirilmesi hiçbir veriyi atlamaz. Görünümün her zaman kaynak tablodaki tüm kayıtları temel alarak sorgunun en güncel anlık görüntüsünü döndürmesi garanti edilir. Sabit hatalar sorgu performansını önemli ölçüde düşürür, ancak görüntüleme sorgularında yanlış sonuçlara neden olmaz.
İyi durumda olmayan gerçekleştirilmiş görünümlerde sorun giderme
Ölçüm, MaterializedViewHealth
gerçekleştirilmiş görünümün iyi durumda olup olmadığını gösterir. Gerçekleştirilmiş bir görünüm iyi durumda olmadan önce, ölçümle MaterializedViewAgeSeconds
not edilen yaşı kademeli olarak artar.
Gerçekleştirilmiş görünüm, aşağıdaki nedenlerden herhangi biri veya tümü nedeniyle iyi durumda değildir:
- Gerçekleştirme işlemi başarısız oluyor. MaterializedViewResult ölçümü ve
.show materialized-view failures
komutu, hatanın kök nedenini belirlemeye yardımcı olabilir. - Sistem, kaynak tablodaki değişiklikler nedeniyle gerçekleştirilmiş görünümü otomatik olarak devre dışı bırakmış olabilir. Komutundan
.show materialized-view
döndürülen sütunu denetleyerek görünümünIsEnabled
devre dışı bırakılıp devre dışı bırakılıp bırakılmadığı denetlenebilir. Gerçekleştirilmiş görünüm sınırlamaları ve bilinen sorunlar ile ilgili diğer ayrıntılara bakın - Veritabanı, tüm gelen verileri zamanında gerçekleştirmek için yeterli kapasiteye sahip değildir. Bu durumda, yürütmede hata olmayabilir. Ancak, alım oranına ayak uyduramadığından görünümün yaşı giderek artar. Bu durumun birkaç kök nedeni olabilir:
- Veritabanında daha fazla gerçekleştirilmiş görünüm vardır ve veritabanının tüm görünümleri çalıştırmak için yeterli kapasitesi yoktur. Eşzamanlı olarak yürütülen gerçekleştirilmiş görünüm sayısı için varsayılan ayarları değiştirmek için bkz . gerçekleştirilmiş görünüm kapasitesi ilkesi .
- Yeni alınan veriler görünümün büyük bir bölümüyle kesiştiğinden ve her bir gerçekleştirme döngüsünde güncelleştirilecek çok sayıda kayıt olduğundan, gerçekleştirme yavaştır. Bunun görünümün performansını neden etkilediğini öğrenmek için gerçekleştirilmiş görünümlerin nasıl çalıştığına bakın.
MaterializedViewResult ölçümü
Ölçüm MaterializedViewResult
, bir gerçekleştirme döngüsünün sonucu hakkında bilgi sağlar ve gerçekleştirilmiş görünüm sistem durumundaki sorunları tanımlamak için kullanılabilir. Ölçüm ve MaterializedViewName
Result
boyutunu içerirDatabase
.
Boyut Result
aşağıdaki değerlerden birine sahip olabilir:
Başarılı: Gerçekleştirme başarıyla tamamlandı.
SourceTableNotFound: Gerçekleştirme görünümünün kaynak tablosu bırakıldı. Gerçekleştirilmiş görünüm, sonuç olarak otomatik olarak devre dışı bırakılır.
SourceTableSchemaChange: Kaynak tablonun şeması gerçekleştirilmiş görünüm tanımıyla uyumlu olmayacak şekilde değişti (gerçekleştirilmiş görünüm sorgusu gerçekleştirilmiş görünüm şemasıyla eşleşmiyor). Gerçekleştirilmiş görünüm, sonuç olarak otomatik olarak devre dışı bırakılır.
InsufficientCapacity: Veritabanının gerçekleştirilmiş görünümü oluşturmak için yeterli kapasitesi yoktur. Bu, eksik alım kapasitesini veya eksik gerçekleştirilmiş görünüm kapasitesini gösterebilir. Yetersiz kapasite hataları geçici olabilir, ancak bunlar sık sık yineleniyorsa, veritabanının ölçeğini genişletmenizi veya ilkedeki ilgili kapasiteyi artırmanızı öneririz.
InsufficientResources: Veritabanında gerçekleştirilmiş görünümü oluşturmak için yeterli kaynak (CPU/bellek) yok. Bu hata geçici olabilir, ancak yeniden oluşursa veritabanının ölçeğini artırmayı veya genişletmeyi deneyin.
- Gerçekleştirme işlemi bellek sınırlarına isabet ederse, $materialized görünüm iş yükü grubu sınırları, gerçekleştirme işleminin tüketilmesi için daha fazla bellek veya CPU'nun desteklenmesi için artırılabilir.
Örneğin, aşağıdaki komut gerçekleştirilmiş görünümler iş yükü grubunu, gerçekleştirme sırasında düğüm başına en fazla 64 gigabayt (GB) bellek kullanacak şekilde değiştirir (varsayılan değer 15 GB'tır):
.alter-merge workload_group ['$materialized-views'] ``` { "RequestLimitsPolicy": { "MaxMemoryPerQueryPerNode": { "Value": 68719241216 } } } ```
Not
MaxMemoryPerQueryPerNode, her düğümün toplam belleğinin %50'sinden fazlasına ayarlanamaz.
Takipçi veritabanlarında gerçekleştirilmiş görünümler
Gerçekleştirilmiş görünümler, takipçi veritabanlarında tanımlanabilir. Ancak, bu gerçekleştirilmiş görünümlerin izlenmesi, gerçekleştirilmiş görünümün tanımlandığı öncü veritabanına dayalı olmalıdır. Özellikle:
- .show materialized-view failures komutu yalnızca öncü veritabanında çalışır.
Kaynak tüketimini izleme
Gerçekleştirilmiş görünümler kaynak tüketimi: Gerçekleştirilmiş görünümlerin gerçekleştirilmesi işlemi tarafından tüketilen kaynaklar komutu kullanılarak .show commands-and-queries
izlenebilir. Aşağıdakini kullanarak belirli bir görünümün kayıtlarını filtreleyin (ve ViewName
değerini değiştirinDatabaseName
):
.show commands-and-queries
| where Database == "DatabaseName" and ClientActivityId startswith "DN.MaterializedViews;ViewName;"