.disable | .enable materialized-view

Inaktiverar eller aktiverar materialiseringsprocessen för en materialiserad vy.

Anteckning

Eftersom det finns några viktiga prestandakonsekvenser som är associerade med att inaktivera/aktivera en materialiserad vy kontrollerar du att du är bekant med dem innan du fortsätter med att använda det här kommandot. Mer information finns i avsnittet Prestandaeffekter av att aktivera/inaktivera materialiserade vyer .

Behörigheter

Du måste ha minst materialiserad vy Admin för att kunna köra dessa kommandon.

Syntax

.enable | disablematerialized-viewMaterializedViewName

Läs mer om syntaxkonventioner.

Parametrar

Namn Typ Obligatorisk Beskrivning
MaterializedViewName string ✔️ Namnet på den materialiserade vyn.

Returer

Om den materialiserade vyn redan är i det tillstånd där kommandot försöker ställa in den på misslyckas kommandot med ett fel som anger att så är fallet.

Annars returneras information om den materialiserade vyn vars IsEnabled-egenskap har ändrats.

Utdataschema:

Namn Typ Beskrivning
Name string Namnet på den materialiserade vyn.
SourceTable string Namnet på källtabellen som vyn har definierats för.
Söka i data string Frågedefinition för den materialiserade vyn.
MaterializedTo datetime Maximalt materialiserat ingestion_time() tidsstämpel i källtabellen. Mer information finns i hur materialiserade vyer fungerar.
LastRun datetime Senaste gången materialiseringen kördes.
LastRunResult string Resultatet av den senaste körningen. Returnerar Completed för lyckade körningar, annars Failed.
IsHealthy bool true när vyn anses vara felfri, false annars. Vyn anses vara felfri om den materialiserades upp till den senaste timmen (MaterializedTo är större än ago(1h)).
IsEnabled bool true när vyn är aktiverad (se Inaktivera eller aktivera materialiserad vy).
Mapp string Mapp under vilken den materialiserade vyn skapas.
DocString string Beskrivning tilldelad till den materialiserade vyn.
AutoUpdateSchema bool Om vyn är aktiverad för automatiska uppdateringar.
EffectiveDateTime datetime Gällande datumtid för vyn, bestäms under skapandetiden (se .create materialized-view).
Tillbakablick timespan Tidsperiod som begränsar den tidsperiod då dubbletter förväntas.

Exempel

Aktivera en materialiserad vy

Följande kommando aktiverar den materialiserade vyn ViewName:

.enable materialized-view ViewName

Resultat

Name SourceTable Söka i data MaterializedTo LastRun LastRunResult IsHealthy IsEnabled Mapp DocString AutoUpdateSchema EffectiveDateTime Tillbakablick
ViewName TableName TableName | summarize arg_max(Column3, *) by Column1 2023-02-26T16:40:03.3345704Z 2023-02-26T16:44:15.9033667Z Slutförd true true falskt 2023-02-23T14:01:42.5172342Z

Inaktivera en materialiserad vy

Följande kommando inaktiverar den materialiserade vyvyn ViewName:

.disable materialized-view ViewName

Resultat

Name SourceTable Söka i data MaterializedTo LastRun LastRunResult IsHealthy IsEnabled Mapp DocString AutoUpdateSchema EffectiveDateTime Tillbakablick
ViewName TableName TableName | summarize arg_max(Column3, *) by Column1 2023-02-26T16:40:03.3345704Z 2023-02-26T16:44:15.9033667Z Slutförd true falskt falskt 2023-02-23T14:01:42.5172342Z

Kommentarer

Inaktivera materialiserade vyer

En materialiserad vy kan inaktiveras på något av följande sätt:

  • Automatisk inaktivering av systemet: Materialiserad vy inaktiveras automatiskt om materialiseringen misslyckas med ett permanent fel. Den här processen kan inträffa i följande instanser:
    • Schemaändringar som är inkonsekventa med vydefinitionen.
    • Ändringar i källtabellen som resulterar i att den materialiserade vyfrågan blir semantiskt ogiltig.
  • Inaktivera den materialiserade vyn explicit: Om den materialiserade vyn påverkar klustrets hälsa negativt (till exempel förbrukar för mycket CPU) inaktiverar du vyn med kommandot.disable materialized-view .

Materialiserade vyer och säkerhet på radnivå

Om en materialiserad vy är inaktiverad och vyn är inaktiverad definierar någon en säkerhetsprincip på radnivå i källtabellen i vyn, men den materialiserade vyn har inte en definierad säkerhetsprincip på radnivå, vilket gör att vyn misslyckas av säkerhetsskäl. Du kan åtgärda det här felet genom att:

  • Definiera säkerhetsprincipen på radnivå över den materialiserade vyn.
  • Välj att ignorera felet genom att lägga till allowMaterializedViewsWithoutRowLevelSecurity egenskapen i kommandot aktivera princip. Exempel:
    .enable materialized-view MV with (allowMaterializedViewsWithoutRowLevelSecurity=true)

Prestandaeffekter av att aktivera/inaktivera materialiserade vyer

  • När en materialiserad vy är inaktiverad pausas materialiseringen och förbrukar inte resurser från klustret. Det går att köra frågor mot den materialiserade vyn även om den är inaktiverad, men prestandan kan vara dålig. Prestanda för en inaktiverad materialiserad vy beror på antalet poster som matats in i källtabellen sedan den inaktiverades.
  • Du kan aktivera en materialiserad vy som tidigare har inaktiverats. När den materialiserade vyn återaktiveras fortsätter materialiseringen från den punkt då den slutade och inga poster hoppas över. Om vyn har inaktiverats under lång tid kan det ta lång tid att komma ikapp.
  • Du bör bara inaktivera en vy om du misstänker att vyn påverkar klustrets hälsa.