Megosztás a következőn keresztül:


Materializált nézetek monitorozása

A materializált nézet állapotának figyelése a következő módokon:

Megjegyzés

A materializálás soha nem hagy ki semmilyen adatot, még akkor sem, ha állandó hibák történnek. A nézet mindig garantáltan a lekérdezés legfrissebb pillanatképét adja vissza a forrástábla összes rekordja alapján. Az állandó hibák jelentősen rontják a lekérdezések teljesítményét, de nem okoznak helytelen eredményeket a lekérdezések megtekintése során.

Nem kifogástalan állapotú materializált nézetek hibaelhárítása

A MaterializedViewHealth metrika azt jelzi, hogy a materializált nézet kifogástalan-e. Mielőtt egy materializált nézet nem kifogástalan állapotúvá válik, a MaterializedViewAgeSeconds metrika által feljegyzett kora fokozatosan nő.

A materializált nézet az alábbi okok bármelyike miatt nem megfelelő állapotúvá válhat:

  • A materializálási folyamat sikertelen. A MaterializedViewResult metrika és a .show materialized-view failures parancs segíthet azonosítani a hiba kiváltó okát.
  • Előfordulhat, hogy a rendszer a forrástábla módosítása miatt automatikusan letiltotta a materializált nézetet. A parancsból.show materialized-view visszaadott oszlop ellenőrzésével IsEnabled ellenőrizheti, hogy a nézet le van-e tiltva. További részletek a materializált nézetek korlátozásaiban és az ismert problémákban
  • A fürt nem rendelkezik elegendő kapacitással az összes bejövő adat időben történő létrehozásához. Ebben az esetben előfordulhat, hogy a végrehajtás során nem merülnek fel hibák. A nézet életkora azonban fokozatosan nő, mivel nem képes lépést tartani a betöltési aránysal. Ennek a helyzetnek több kiváltó oka is lehet:
    • A fürtön több materializált nézet található, és a fürt nem rendelkezik elegendő kapacitással az összes nézet futtatásához. A materializált nézet kapacitásszabályzatában módosíthatja az egyidejűleg végrehajtott materializált nézetek alapértelmezett beállításait.
    • Az anyagosítás lassú, mert túl sok rekordot kell frissíteni az egyes anyagosítási ciklusokban. Ha többet szeretne megtudni arról, hogy ez miért befolyásolja a nézet teljesítményét, tekintse meg a materializált nézetek működését. Az egyes ciklusokban frissítéseket igénylő mértékek számát a MaterializedViewExtentsRebuild metrikában találja.

MaterializedViewResult metrika

A MaterializedViewResult metrika információt nyújt egy materializálási ciklus eredményéről, és a materializált nézet állapotával kapcsolatos problémák azonosítására használható. A metrika tartalmazza az és MaterializedViewName a Database dimenziótResult.

A Result dimenzió a következő értékek egyikével rendelkezhet:

  • Sikeres: A materializálás sikeresen befejeződött.

  • SourceTableNotFound: A materializálási nézet forrástáblája elvetve. Ennek eredményeként a materializált nézet automatikusan le lesz tiltva.

  • SourceTableSchemaChange: A forrástábla sémája úgy módosult, hogy nem kompatibilis a materializált nézetdefinícióval (a materializált nézet lekérdezése nem egyezik meg a materializált nézet sémájával). Ennek eredményeként a materializált nézet automatikusan le lesz tiltva.

  • InsufficientCapacity: A fürt nem rendelkezik elegendő kapacitással a materializált nézet materializálásához. Ez jelezheti a hiányzó betöltési kapacitást vagy a materializált nézetek kapacitásának hiányát. Az elégtelen kapacitáshibák átmenetiek lehetnek, de ha gyakran ismétlődnek, javasoljuk a fürt horizontális felskálázását vagy a megfelelő kapacitás növelését a szabályzatban.

  • InsufficientResources: A fürt nem rendelkezik elegendő erőforrással (CPU/memória) a materializált nézet materializálásához. Ez a hiba átmeneti lehet, de ha újra jelentkezik, próbálja meg vertikálisan felfelé vagy kiskálázni a fürtöt.

    A következő parancs például módosítja a materializált nézetek számítási feladatcsoportját, hogy csomópontonként legfeljebb 64 gigabájt (GB) memóriát használjon a materializálás során (az alapértelmezett érték 15 GB):

    .alter-merge workload_group ['$materialized-views'] ```
    {
      "RequestLimitsPolicy": {
        "MaxMemoryPerQueryPerNode": {
          "Value": 68719241216
        }
      }
    } ```
    

    Megjegyzés

    A MaxMemoryPerQueryPerNode nem állítható be az egyes csomópontok teljes memóriájának 50%-ánál nagyobb értékre.

Materializált nézetek a követő adatbázisokban

A materializált nézetek definiálhatók követő adatbázisokban. A materializált nézetek monitorozásának azonban a vezető adatbázison kell alapulnia, ahol a materializált nézet definiálva van. Ezek konkrétan a következők:

  • A materializált nézetvégrehajtással (MaterializedViewResult, MaterializedViewExtentsRebuild) kapcsolatos metrikák csak a vezető adatbázisban találhatók. A figyeléssel (MaterializedViewAgeSeconds, , MaterializedViewHealthMaterializedViewRecordsInDelta) kapcsolatos metrikák is megjelennek a követő adatbázisokban.
  • A .show materialized-view failures parancs csak a vezető adatbázisban működik.

Erőforrás-felhasználás nyomon követése

Materializált nézetek erőforrás-felhasználása: a materializált nézetek materializálási folyamata által felhasznált erőforrások nyomon követhetők az .show commands-and-queries paranccsal. Szűrje a rekordokat egy adott nézetre a következő használatával (cserélje le DatabaseName és ViewName):

.show commands-and-queries 
| where Database  == "DatabaseName" and ClientActivityId startswith "DN.MaterializedViews;ViewName;"