.disable | .enable materialized-view

Disabilita o abilita il processo di materializzazione per una vista materializzata.

Nota

Poiché esistono alcune importanti implicazioni per le prestazioni associate alla disabilitazione o all'abilitazione di una vista materializzata, assicurarsi di conoscerle prima di procedere con l'uso di questo comando. Per altre informazioni, vedere la sezione Implicazioni per le prestazioni dell'abilitazione/disabilitazione delle viste materializzate .

Autorizzazioni

Per eseguire questi comandi, è necessario disporre almeno di Amministrazione visualizzazione materializzata.

Sintassi

.enable | disablematerialized-viewMaterializedViewName

Altre informazioni sulle convenzioni di sintassi.

Parametri

Nome Tipo Obbligatoria Descrizione
MaterializedViewName string ✔️ Nome della vista materializzata.

Restituisce

Se la vista materializzata è già nello stato in cui il comando sta tentando di impostarlo su, il comando ha esito negativo e viene visualizzato un errore che indica che è il caso.

In caso contrario, restituisce i dettagli sulla vista materializzata la cui proprietà IsEnabled è stata modificata.

Schema di output:

Nome Tipo Descrizione
Nome string Nome della vista materializzata.
SourceTable string Nome della tabella di origine in cui è definita la vista.
Query string Definizione di query della vista materializzata.
MaterializedTo datetime Timestamp ingestion_time() materializzato massimo nella tabella di origine. Per altre informazioni, vedere come funzionano le viste materializzate.
LastRun datetime Ultima esecuzione della materializzazione.
LastRunResult string Risultato dell'ultima esecuzione. Restituisce per le esecuzioni riuscite Completed . In caso contrario Failed, .
IsHealthy bool true quando la visualizzazione è considerata integra, false in caso contrario. La visualizzazione è considerata integra se è stata materializzata correttamente fino all'ultima ora (MaterializedTo è maggiore di ago(1h)).
IsEnabled bool true quando la visualizzazione è abilitata (vedere Disabilitare o abilitare la visualizzazione materializzata).
Cartella string Cartella in cui viene creata la vista materializzata.
DocString string Descrizione assegnata alla vista materializzata.
AutoUpdateSchema bool Indica se la visualizzazione è abilitata per gli aggiornamenti automatici.
EffectiveDateTime datetime Data di validità della visualizzazione, determinata durante l'ora di creazione (vedere .create materialized-view).
Lookback timespan Intervallo di tempo che limita il periodo di tempo in cui sono previsti duplicati.

Esempio

Abilitare una vista materializzata

Il comando seguente abilita la visualizzazione materializzata ViewName:

.enable materialized-view ViewName

Output

Nome SourceTable Query MaterializedTo LastRun LastRunResult IsHealthy IsEnabled Cartella DocString AutoUpdateSchema EffectiveDateTime Lookback
Nome visualizzazione TableName TableName | summarize arg_max(Column3, *) by Column1 2023-02-26T16:40:03.3345704Z 2023-02-26T16:44:15.9033667Z Completato true true false 2023-02-23T14:01:42.5172342Z

Disabilitare una visualizzazione materializzata

Il comando seguente disabilita la visualizzazione materializzata ViewName:

.disable materialized-view ViewName

Output

Nome SourceTable Query MaterializedTo LastRun LastRunResult IsHealthy IsEnabled Cartella DocString AutoUpdateSchema EffectiveDateTime Lookback
Nome visualizzazione TableName TableName | summarize arg_max(Column3, *) by Column1 2023-02-26T16:40:03.3345704Z 2023-02-26T16:44:15.9033667Z Completato true false false 2023-02-23T14:01:42.5172342Z

Commenti

Disabilitazione delle viste materializzate

Una vista materializzata può essere disabilitata in uno dei modi seguenti:

  • Disabilitazione automatica dal sistema: La visualizzazione materializzata viene disabilitata automaticamente se la materializzazione ha esito negativo e viene visualizzato un errore permanente. Questo processo può verificarsi nelle istanze seguenti:
    • Modifiche dello schema non coerenti con la definizione della vista.
    • Le modifiche apportate alla tabella di origine che generano una query di visualizzazione materializzata non valida semanticamente.
  • Disabilitare in modo esplicito la visualizzazione materializzata: Se la vista materializzata influisce negativamente sull'integrità del cluster , ad esempio con un utilizzo eccessivo della CPU, disabilitare la visualizzazione usando il .disable materialized-view comando .

Viste materializzate e sicurezza a livello di riga

Se una vista materializzata è disabilitata e, mentre la visualizzazione è disabilitata, un utente definisce criteri di sicurezza a livello di riga nella tabella di origine della vista, ma la vista materializzata non dispone di criteri di sicurezza a livello di riga definiti, l'abilitazione della visualizzazione ha esito negativo per motivi di sicurezza. Per attenuare questo errore, è possibile:

  • Definire i criteri di sicurezza a livello di riga sulla vista materializzata.
  • Scegliere di ignorare l'errore aggiungendo allowMaterializedViewsWithoutRowLevelSecurity la proprietà al comando enable policy. Ad esempio:
    .enable materialized-view MV with (allowMaterializedViewsWithoutRowLevelSecurity=true)

Implicazioni per le prestazioni dell'abilitazione/disabilitazione di viste materializzate

  • Quando una vista materializzata è disabilitata, la materializzazione verrà sospesa e non utilizzerà risorse dal cluster. L'esecuzione di query sulla vista materializzata è possibile anche quando è disabilitata, ma le prestazioni possono risultare scarse. Le prestazioni in una vista materializzata disabilitata dipendono dal numero di record inseriti nella tabella di origine perché è stato disabilitato.
  • È possibile abilitare una vista materializzata disabilitata in precedenza. Quando viene riabilitata, la visualizzazione materializzata continuerà a materializzare dal punto che è stata interrotta e non verrà ignorato alcun record. Se la visualizzazione è stata disabilitata per molto tempo, potrebbe essere necessario attendere molto tempo.
  • La disabilitazione di una visualizzazione è consigliata solo se si sospetta che la visualizzazione influisca sull'integrità del cluster.