Gerçekleştirilmiş görünümleri izleme
Gerçekleştirilmiş görünümün durumunu aşağıdaki yollarla izleyin:
- Azure portal 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ştirme işlemi hiçbir veriyi atlamaz. Görünümün, kaynak tablodaki tüm kayıtları temel alarak sorgunun en güncel anlık görüntüsünü döndürmesi her zaman 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çüm tarafından MaterializedViewAgeSeconds
belirtilen yaşı kademeli olarak artar.
Gerçekleştirilmiş görünüm, aşağıdaki nedenlerden herhangi biri veya tümü nedeniyle iyi durumda olmaz:
- Gerçekleştirme işlemi başarısız oluyor. MaterializedViewResult ölçümü ve
.show materialized-view failures
komutu hatanın kök nedenini belirlemenize yardımcı olabilir. - Kaynak tablodaki değişiklikler nedeniyle sistem 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 bırakılmadiğini de kontrol edebilirsiniz. Gerçekleştirilmiş görünüm sınırlamaları ve bilinen sorunlar ile ilgili diğer ayrıntılara bakın - Küme, tüm gelen verileri zamanında gerçekleştirmeye yetecek 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:
- Kümede daha fazla gerçekleştirilmiş görünüm vardır ve kümenin 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 .
- Her bir gerçekleştirme döngüsünde güncelleştirilemeyecek kadar çok kayıt olduğundan, gerçekleştirme yavaştır. Bunun görünümün performansını neden etkilediği hakkında daha fazla bilgi edinmek için, gerçekleştirilmiş görünümlerin nasıl çalıştığına bakın. Ölçümde her döngüde güncelleştirme gerektiren kapsam sayısı sağlanır
MaterializedViewExtentsRebuild
.
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ı belirlemek 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ı. Sonuç olarak gerçekleştirilmiş görünüm 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). Sonuç olarak gerçekleştirilmiş görünüm otomatik olarak devre dışı bırakılır.
InsufficientCapacity: Kümenin gerçekleştirilmiş görünümü gerçekleştirmek için yeterli kapasitesi yok. 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 yinelenirse kümenin ölçeğini genişletmenizi veya ilkedeki ilgili kapasiteyi artırmanızı öneririz.
InsufficientResources: Kümenin gerçekleştirilmiş görünümü gerçekleştirmeye yetecek kadar kaynağı (CPU/bellek) yok. Bu hata geçici olabilir, ancak yinelenirse kümenin ölçeğini artırmayı veya genişletmeyi deneyin.
- Gerçekleştirme işlemi bellek sınırlarına isabet ederse, $materialized görüntüleme iş yükü grubu sınırları, gerçekleştirme işleminin tüketilmesi için daha fazla bellek veya CPU desteklemek üzere 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ını temel almalıdır. Özellikle:
- Gerçekleştirilmiş görünüm yürütme (
MaterializedViewResult
,MaterializedViewExtentsRebuild
) ile ilgili ölçümler yalnızca öncü veritabanında bulunur. İzleme (MaterializedViewAgeSeconds
,MaterializedViewHealth
,MaterializedViewRecordsInDelta
) ile ilgili ölçümler, izleyici veritabanlarında da görünür. - .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ümler gerçekleştirme 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 için kayıtları filtreleyin (ve ViewName
değerini değiştirinDatabaseName
):
.show commands-and-queries
| where Database == "DatabaseName" and ClientActivityId startswith "DN.MaterializedViews;ViewName;"
Geri Bildirim
https://aka.ms/ContentUserFeedback.
Çok yakında: 2024 boyunca, içerik için geri bildirim mekanizması olarak GitHub Sorunları’nı kullanımdan kaldıracak ve yeni bir geri bildirim sistemiyle değiştireceğiz. Daha fazla bilgi için bkz.Gönderin ve geri bildirimi görüntüleyin