.disable | .enable materialized-view

Désactive ou active le processus de matérialisation d’une vue matérialisée.

Notes

Étant donné que la désactivation/l’activation d’une vue matérialisée a d’importantes implications en matière de performances, veillez à les connaître avant de continuer à utiliser cette commande. Pour plus d’informations, consultez la section Implications sur les performances de l’activation/désactivation des vues matérialisées .

Autorisations

Vous devez disposer d’au moins Administration affichage matérialisé pour exécuter ces commandes.

Syntax

.enable | disablematerialized-viewMaterializedViewName

Découvrez les conventions de syntaxe.

Paramètres

Nom Type Obligatoire Description
MaterializedViewName string ✔️ Nom de la vue matérialisée.

Retours

Si la vue matérialisée est déjà dans l’état dans lequel la commande tente de la définir sur, la commande échoue avec une erreur indiquant que c’est le cas.

Sinon, il retourne les détails de la vue matérialisée dont la propriété IsEnabled a été modifiée.

Schéma de sortie :

Nom Type Description
Nom string Nom de la vue matérialisée.
SourceTable string Nom de la table source sur laquelle la vue est définie.
Requête string Définition de la requête de la vue matérialisée.
MaterializedTo datetime Horodatage maximal matérialisé ingestion_time() dans la table source. Pour plus d’informations, consultez le fonctionnement des vues matérialisées.
LastRun datetime Dernière exécution de la matérialisation.
LastRunResult string Résultat de la dernière exécution. Retourne Completed pour les exécutions réussies, sinon Failed.
IsHealthy bool true lorsque la vue est considérée comme saine, false sinon. L’affichage est considéré comme sain s’il a été correctement matérialisé jusqu’à la dernière heure (MaterializedTo est supérieur à ago(1h)).
IsEnabled bool true lorsque l’affichage est activé (voir Désactiver ou activer l’affichage matérialisé).
Dossier string Dossier sous lequel la vue matérialisée est créée.
DocString string Description affectée à la vue matérialisée.
AutoUpdateSchema bool Indique si la vue est activée pour les mises à jour automatiques.
EffectiveDateTime datetime Date d’effet heure de l’affichage, déterminée pendant l’heure de création (voir .create materialized-view).
Recherche arrière timespan Intervalle de temps limitant la période pendant laquelle les doublons sont attendus.

Exemples

Activer une vue matérialisée

La commande suivante active l’affichage matérialisé ViewName :

.enable materialized-view ViewName

Sortie

Nom SourceTable Requête MaterializedTo LastRun LastRunResult IsHealthy IsEnabled Dossier DocString AutoUpdateSchema EffectiveDateTime Recherche arrière
NomVue TableName TableName | résumer arg_max(Column3, *) par Column1 2023-02-26T16 :40 :03.3345704Z 2023-02-26T16 :44 :15.9033667Z Effectué true true false 2023-02-23T14 :01 :42.5172342Z

Désactiver une vue matérialisée

La commande suivante désactive la vue matérialisée ViewName :

.disable materialized-view ViewName

Sortie

Nom SourceTable Requête MaterializedTo LastRun LastRunResult IsHealthy IsEnabled Dossier DocString AutoUpdateSchema EffectiveDateTime Recherche arrière
NomVue TableName TableName | summarize arg_max(Column3, *) by Column1 2023-02-26T16 :40 :03.3345704Z 2023-02-26T16 :44 :15.9033667Z Effectué true false false 2023-02-23T14 :01 :42.5172342Z

Remarques

Désactivation des vues matérialisées

Une vue matérialisée peut être désactivée de l’une des manières suivantes :

  • Désactivation automatique par le système : La vue matérialisée est automatiquement désactivée si la matérialisation échoue avec une erreur permanente. Ce processus peut se produire dans les instances suivantes :
    • Modifications de schéma qui ne sont pas compatibles avec la définition de la vue.
    • Modifications apportées à la table source qui entraînent une sémantique sémantique non valide de la requête de vue matérialisée.
  • Désactivez explicitement la vue matérialisée : Si la vue matérialisée a un impact négatif sur l’intégrité du cluster (par exemple, en consommant trop de processeur), désactivez la vue à l’aide de la .disable materialized-view commande .

Affichages matérialisés et sécurité au niveau des lignes

Si une vue matérialisée est désactivée et que la vue est désactivée, quelqu’un définit une stratégie de sécurité au niveau des lignes sur la table source de la vue, mais que la vue matérialisée n’a pas de stratégie de sécurité au niveau des lignes définie, l’activation de la vue échoue pour des raisons de sécurité. Pour corriger cette erreur, vous pouvez :

  • Définissez la stratégie de sécurité au niveau des lignes sur la vue matérialisée.
  • Choisissez d’ignorer l’erreur en ajoutant allowMaterializedViewsWithoutRowLevelSecurity la propriété à la commande enable policy. Par exemple :
    .enable materialized-view MV with (allowMaterializedViewsWithoutRowLevelSecurity=true)

Implications en termes de performances de l’activation/de la désactivation des vues matérialisées

  • Lorsqu’une vue matérialisée est désactivée, la matérialisation est suspendue et ne consomme pas les ressources du cluster. L’interrogation de la vue matérialisée est possible même quand elle est désactivée, mais les performances peuvent être médiocres. Les performances d’une vue matérialisée désactivée dépendent du nombre d’enregistrements qui ont été ingérés dans la table source depuis sa désactivation.
  • Vous pouvez activer une vue matérialisée qui a été précédemment désactivée. Lorsqu’elle est réactivée, la vue matérialisée continue de se matérialiser à partir du point qu’elle a quitté, et aucun enregistrement n’est ignoré. Si la vue a été désactivée pendant une longue période, le rattrapage peut prendre beaucoup de temps.
  • La désactivation d’une vue n’est recommandée que si vous pensez que la vue a un impact sur l’intégrité de votre cluster.