.disable | .enable materialized-view
Se aplica a: ✅Microsoft Fabric✅Azure Data Explorer
Deshabilita o habilita el proceso de materialización para una vista materializada.
Nota:
Dado que hay algunas implicaciones importantes en el rendimiento asociadas a deshabilitar o habilitar una vista materializada, asegúrese de que está familiarizado con ellos antes de continuar con el uso de este comando. Para obtener más información, consulte la sección Implicaciones de rendimiento de la habilitación o deshabilitación de vistas materializadas.
Permisos
Debe tener al menos Materialized View Admin para ejecutar estos comandos.
Sintaxis
.enable
| disable
materialized-view
MaterializedViewName
Obtenga más información sobre las convenciones de sintaxis.
Parámetros
Nombre | Type | Obligatorio | Descripción |
---|---|---|---|
MaterializedViewName | string |
✔️ | Nombre de la vista materializada. |
Devoluciones
Si la vista materializada ya está en el estado en el que el comando está intentando establecerlo, el comando produce un error que indica que es el caso.
De lo contrario, devuelve los detalles sobre la vista materializada cuya propiedad IsEnabled se ha cambiado.
Esquema de salida:
Nombre | Escribir | Descripción |
---|---|---|
Nombre | string |
Nombre de la vista materializada. |
SourceTable | string |
Nombre de la tabla de origen en la que se define la vista. |
Consulta | string |
Definición de consulta de la vista materializada. |
MaterializedTo | datetime |
Marca de tiempo máxima materializada ingestion_time() en la tabla de origen. Para obtener más información, vea cómo funcionan las vistas materializadas. |
LastRun | datetime |
Última vez que se ejecutó la materialización. |
LastRunResult | string |
Resultado de la última ejecución. Devuelve para ejecuciones Completed correctas; de lo contrario Failed , . |
IsHealthy | bool |
true cuando la vista se considera correcta; de lo contrario, false . La vista se considera correcta si se materializó correctamente hasta la última hora (MaterializedTo es mayor que ago(1h) ). |
IsEnabled | bool |
true cuando la vista está habilitada (consulte Deshabilitar o habilitar la vista materializada). |
Carpeta | string |
Carpeta en la que se crea la vista materializada. |
DocString | string |
Descripción asignada a la vista materializada. |
AutoUpdateSchema | bool |
Indica si la vista está habilitada para las actualizaciones automáticas. |
EffectiveDateTime | datetime |
Fecha efectiva de la vista, determinada durante la hora de creación (consulte .create materialized-view ). |
Retrospectiva | timespan |
Intervalo de tiempo que limita el período de tiempo en el que se esperan duplicados. |
Ejemplos
Habilitación de una vista materializada
El siguiente comando habilita view ViewName materializado:
.enable materialized-view ViewName
Salida
Nombre | SourceTable | Consulta | MaterializedTo | LastRun | LastRunResult | IsHealthy | IsEnabled | Carpeta | DocString | AutoUpdateSchema | EffectiveDateTime | Retrospectiva |
---|---|---|---|---|---|---|---|---|---|---|---|---|
ViewName | TableName | TableName | summarize arg_max(Column3, *) by Column1 | 2023-02-26T16:40:03.3345704Z | 2023-02-26T16:44:15.9033667Z | Completado | true | true | false | 2023-02-23T14:01:42.5172342Z |
Deshabilitar una vista materializada
El comando siguiente deshabilita view view materialized ViewName:
.disable materialized-view ViewName
Salida
Nombre | SourceTable | Consulta | MaterializedTo | LastRun | LastRunResult | IsHealthy | IsEnabled | Carpeta | DocString | AutoUpdateSchema | EffectiveDateTime | Retrospectiva |
---|---|---|---|---|---|---|---|---|---|---|---|---|
ViewName | TableName | TableName | summarize arg_max(Column3, *) by Column1 | 2023-02-26T16:40:03.3345704Z | 2023-02-26T16:44:15.9033667Z | Completado | true | false | false | 2023-02-23T14:01:42.5172342Z |
Comentarios
Deshabilitación de vistas materializadas
Una vista materializada se puede deshabilitar de cualquiera de las maneras siguientes:
- Deshabilitación automática por el sistema: la vista materializada se deshabilita automáticamente si se produce un error permanente en la materialización. Este proceso puede producirse en las instancias siguientes:
- Cambios de esquema que son incoherentes con la definición de vista.
- Los cambios en la tabla de origen que dan como resultado que la consulta de vista materializada no sea semánticamente no válida.
- Deshabilitar explícitamente la vista materializada: si la vista materializada afecta negativamente al estado de la base de datos (por ejemplo, consumir demasiada CPU), deshabilite la vista mediante el
.disable materialized-view
comando .
Vistas materializadas y seguridad de nivel de fila
Si una vista materializada está deshabilitada y mientras la vista está deshabilitada, alguien define una directiva de seguridad de nivel de fila en la tabla de origen de la vista, pero la vista materializada no tiene definida una directiva de seguridad de nivel de fila, se produce un error al habilitar la vista por motivos de seguridad. Para solucionar este error, puede:
- Defina la directiva de seguridad de nivel de fila sobre la vista materializada.
- Elija omitir el error agregando
allowMaterializedViewsWithoutRowLevelSecurity
la propiedad al comando enable policy. Por ejemplo:
.enable materialized-view MV with (allowMaterializedViewsWithoutRowLevelSecurity=true)
Implicaciones de rendimiento de habilitar o deshabilitar vistas materializadas
- Cuando se deshabilita una vista materializada, la materialización se pausará y no consumirá recursos de la base de datos. La consulta de la vista materializada es posible incluso cuando está deshabilitada, pero el rendimiento puede ser deficiente. El rendimiento de una vista materializada deshabilitada depende del número de registros ingeridos en la tabla de origen desde que se deshabilitó.
- Puede habilitar una vista materializada que se haya deshabilitado anteriormente. Cuando se vuelve a habilitar, la vista materializada continuará materializando desde el punto que dejó y no se omitirá ningún registro. Si la vista se deshabilitó durante mucho tiempo, puede tardar mucho tiempo en ponerse al día.
- Solo se recomienda deshabilitar una vista si sospecha que la vista afecta al estado de la base de datos.