.disable | .enable materialized-view
Si applica a: ✅Microsoft Fabric✅Azure Esplora dati
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
| disable
materialized-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 vista materializzata: se la vista materializzata influisce negativamente sull'integrità del database (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à risorse dal database. 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 vista è consigliata solo se si sospetta che la vista influisca sull'integrità del database.