Sdílet prostřednictvím


.disable | .enable materialized-view

Zakáže nebo povolí proces materializace pro materializované zobrazení.

Poznámka:

Vzhledem k tomu, že k zakázání nebo povolení materializovaného zobrazení souvisí některé důležité důsledky z hlediska výkonu, před použitím tohoto příkazu se ujistěte, že jste se s nimi seznámili. Další informace najdete v části Věnované výkonu povolení nebo zakázání materializovaných zobrazení .

Oprávnění

Abyste mohli tyto příkazy spustit, musíte mít aspoň materializovaný správce zobrazení.

Syntaxe

.enable | disablematerialized-view MaterializedViewName

Přečtěte si další informace o konvencích syntaxe.

Parametry

Název Type Požadováno Popis
MaterializedViewName string ✔️ Název materializovaného zobrazení

Návraty

Pokud je materializované zobrazení již ve stavu, ve kterém se příkaz pokouší nastavit, příkaz selže s chybou, která značí, že se jedná o případ.

V opačném případě vrátí podrobnosti o materializovaném zobrazení, jehož IsEnabled vlastnost byla změněna.

Výstupní schéma:

Name Typ Popis
Name string Název materializovaného zobrazení
Zdrojová tabulka string Název zdrojové tabulky, na které je zobrazení definováno.
Dotaz string Definice dotazu materializovaného zobrazení
MaterializedTo datetime Maximální materializované časové razítko ingestion_time() ve zdrojové tabulce Další informace naleznete v tom , jak materializovaná zobrazení fungují.
LastRun datetime Čas posledního spuštění materializace
LastRunResult string Výsledek posledního spuštění Vrátí Completed pro úspěšná spuštění, jinak Failed.
IsHealthy bool true pokud je zobrazení považováno za zdravé, false jinak. Zobrazení je považováno za zdravé, pokud bylo úspěšně materializováno až do poslední hodiny (MaterializedTo je větší než ago(1h)).
IsEnabled bool true při povolení zobrazení (viz Zakázání nebo povolení materializovaného zobrazení)
Složka string Složka, pod kterou se vytvoří materializované zobrazení.
DocString string Popis přiřazený materializovanému zobrazení
AutoUpdateSchema bool Určuje, jestli je zobrazení povolené pro automatické aktualizace.
EffectiveDateTime datetime Datum účinnosti zobrazení určeného během vytváření (viz .create materialized-view).
Zpětné vyhledávání timespan Časový rozsah omezuje časové období, ve kterém jsou očekávány duplicity.

Příklady

Povolení materializovaného zobrazení

Následující příkaz povolí materializované viewName:

.enable materialized-view ViewName

Výstup

Název Zdrojová tabulka Dotaz MaterializedTo LastRun LastRunResult IsHealthy IsEnabled Složka DocString AutoUpdateSchema EffectiveDateTime Zpětné vyhledávání
ViewName TableName TableName | summarize arg_max(Column3; *) by Column1 2023-02-26T16:40:03.3345704Z 2023-02-26T16:44:15.9033667Z Dokončeno true true false (nepravda) 2023-02-23T14:01:42.5172342Z

Zakázání materializovaného zobrazení

Následující příkaz zakáže materializované viewName:

.disable materialized-view ViewName

Výstup

Název Zdrojová tabulka Dotaz MaterializedTo LastRun LastRunResult IsHealthy IsEnabled Složka DocString AutoUpdateSchema EffectiveDateTime Zpětné vyhledávání
ViewName TableName TableName | summarize arg_max(Column3; *) by Column1 2023-02-26T16:40:03.3345704Z 2023-02-26T16:44:15.9033667Z Dokončeno true false (nepravda) false (nepravda) 2023-02-23T14:01:42.5172342Z

Poznámky

Zakázání materializovaných zobrazení

Materializované zobrazení lze zakázat některým z následujících způsobů:

  • Automatické zakázání systému: Materializované zobrazení je automaticky zakázáno, pokud materializace selže s trvalou chybou. Tento proces může nastat v následujících instancích:
    • Změny schématu, které jsou nekonzistentní s definicí zobrazení.
    • Změny ve zdrojové tabulce, která vede k tomu, že materializovaný dotaz zobrazení je sémanticky neplatný.
  • Explicitně zakažte materializované zobrazení: Pokud materializované zobrazení negativně ovlivňuje stav clusteru (například spotřeba příliš velkého procesoru), zakažte zobrazení pomocí .disable materialized-view příkazu.

Materializovaná zobrazení a zabezpečení na úrovni řádků

Pokud je materializované zobrazení zakázané a zatímco je zobrazení zakázané, někdo definuje zásadu zabezpečení na úrovni řádků ve zdrojové tabulce zobrazení, ale materializované zobrazení nemá definované zásady zabezpečení na úrovni řádků, povolení zobrazení selže z bezpečnostních důvodů. Pokud chcete tuto chybu zmírnit, můžete:

  • Definujte zásady zabezpečení na úrovni řádků v materializovaném zobrazení.
  • Tuto chybu můžete ignorovat přidáním allowMaterializedViewsWithoutRowLevelSecurity vlastnosti do příkazu povolit zásadu. Příklad:
    .enable materialized-view MV with (allowMaterializedViewsWithoutRowLevelSecurity=true)

Vliv na výkon povolení nebo zakázání materializovaných zobrazení

  • Když je materializované zobrazení zakázané, materializace se pozastaví a nebude spotřebovávat prostředky z clusteru. Dotazování materializovaného zobrazení je možné i v případě, že je zakázané, ale výkon může být nízký. Výkon zakázaného materializovaného zobrazení závisí na počtu záznamů přijatých do zdrojové tabulky, protože byl zakázán.
  • Můžete povolit materializované zobrazení, které bylo dříve zakázáno. Po opětovném povolení bude materializované zobrazení pokračovat v materializaci z místa, kde skončil, a nebudou vynechány žádné záznamy. Pokud bylo zobrazení po dlouhou dobu zakázané, může trvat dlouhou dobu, než se chytí.
  • Zakázání zobrazení se doporučuje jenom v případě, že se domníváte, že zobrazení má vliv na stav clusteru.