Condividi tramite


.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 visualizzazione materializzata, assicurarsi di conoscerle prima di procedere con l'uso di questo comando. Per altre informazioni, vedere la sezione Implicazioni sulle prestazioni dell'abilitazione /disabilitazione delle viste materializzate.

Autorizzazioni

Per eseguire questi comandi, è necessario disporre almeno dell'amministratore della visualizzazione materializzata.

Sintassi

.enable | disablematerialized-view MaterializedViewName

Altre informazioni sulle convenzioni di sintassi.

Parametri

Nome Digita Obbligatorio Descrizione
MaterializedViewName string ✔️ Nome della vista materializzata.

Valori restituiti

Se la vista materializzata è già nello stato in cui il comando sta tentando di impostarlo su, il comando non riesce con un errore che indica che è il caso.

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

Schema di output:

Nome Tipo Descrizione
Name 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 massimo materializzato ingestion_time() 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 vista è 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.

Esempi

Abilitare una vista materializzata

Il comando seguente abilita view ViewName materializzato:

.enable materialized-view ViewName

Output

Nome SourceTable Query MaterializedTo LastRun LastRunResult IsHealthy IsEnabled Cartella DocString AutoUpdateSchema EffectiveDateTime Lookback
ViewName TableName TableName | summarize arg_max(Column3, *) per 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 vista 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
ViewName TableName TableName | summarize arg_max(Column3, *) per Column1 2023-02-26T16:40:03.3345704Z 2023-02-26T16:44:15.9033667Z Completato true false false 2023-02-23T14:01:42.5172342Z

Osservazioni:

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 generato 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 comportano l'invalidità semantica della query della vista materializzata.
  • Disabilitare in modo esplicito la visualizzazione materializzata: se la vista materializzata influisce negativamente sull'integrità del cluster (ad esempio, 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 un criterio 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 ridurre l'impatto di 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 sulle prestazioni dell'abilitazione/disabilitazione delle viste materializzate

  • Quando una vista materializzata è disabilitata, la materializzazione verrà sospesa e non utilizzerà le risorse del cluster. L'esecuzione di query sulla vista materializzata è possibile anche quando è disabilitata, ma le prestazioni possono risultare scarse. Le prestazioni di 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 riattivata, la vista materializzata continuerà a materializzare dal punto che è stata interrotta e non verrà ignorato alcun record. Se la visualizzazione è stata disabilitata per molto tempo, il recupero potrebbe richiedere molto tempo.
  • La disabilitazione di una visualizzazione è consigliata solo se si sospetta che la visualizzazione influisca sull'integrità del cluster.