.disable | .enable materialized-view

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

Poznámka

Vzhledem k tomu, že zakázání nebo povolení materializovaného zobrazení má několik důležitých dopadů na výkon, ujistěte se, že jste se s nimi seznámili, než budete pokračovat v použití tohoto příkazu. Další informace najdete v části Důsledky povolení nebo zakázání materializovaných zobrazení na výkon .

Oprávnění

Abyste mohli tyto příkazy spustit, musíte mít alespoň materializované Správa zobrazení.

Syntax

.enable | disablematerialized-viewMaterializedViewName

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

Parametry

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

Návraty

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

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

Výstupní schéma:

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

Příklady

Povolení materializovaného zobrazení

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

.enable materialized-view ViewName

Výstup

Name Zdrojová tabulka Dotaz MaterializedTo Poslední spuštění LastRunResult Je v stavu 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é zobrazení ViewName:

.disable materialized-view ViewName

Výstup

Name Zdrojová tabulka Dotaz MaterializedTo Poslední spuštění LastRunResult Je v stavu 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í je možné zakázat některým z následujících způsobů:

  • Automatické zakázání systémem: Materializované zobrazení se automaticky zakáže, pokud materializace selže s trvalou chybou. K tomuto procesu může dojít v následujících případech:
    • Změny schématu, které jsou nekonzistentní s definicí zobrazení.
    • Změny ve zdrojové tabulce, které způsobí, že dotaz materializovaného zobrazení je sémanticky neplatný.
  • Explicitně zakažte materializované zobrazení: Pokud materializované zobrazení negativně ovlivňuje stav clusteru (například příliš mnoho procesoru), zakažte zobrazení pomocí příkazu.disable materialized-view .

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

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

  • Definujte zásady zabezpečení na úrovni řádků v materializovaném zobrazení.
  • Pokud chcete chybu ignorovat, přidejte allowMaterializedViewsWithoutRowLevelSecurity vlastnost do příkazu povolit zásadu. Příklad:
    .enable materialized-view MV with (allowMaterializedViewsWithoutRowLevelSecurity=true)

Důsledky povolení nebo zakázání materializovaných zobrazení na výkon

  • Pokud je materializované zobrazení zakázané, materializace se pozastaví a nebude využí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 v zakázaném materializovaném zobrazení závisí na počtu záznamů, které byly ingestovány do zdrojové tabulky od jeho 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 od místa, kde přestalo, a žádné záznamy se nepřekočí. Pokud bylo zobrazení dlouho zakázané, může trvat dlouho, než se zobrazení dožene.
  • Zakázání zobrazení se doporučuje jenom v případě, že máte podezření, že zobrazení ovlivňuje stav clusteru.