.disable | .enable materialized-view
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 la vista materializada Administración para ejecutar estos comandos.
Syntax
.enable
| disable
materialized-view
MaterializedViewName
Más información sobre las convenciones de sintaxis.
Parámetros
Nombre | Tipo | Requerido | Descripción |
---|---|---|---|
MaterializedViewName | string |
✔️ | Nombre de la vista materializada. |
Devoluciones
Si la vista materializada ya está en el estado en el que el comando intenta establecerla, 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 | Tipo | Descripción |
---|---|---|
Nombre | string |
Nombre de la vista materializada. |
SourceTable | string |
Nombre de la tabla de origen en la que se define la vista. |
Consultar | 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 Completed las ejecuciones correctas; de lo contrario Failed , . |
IsHealthy | bool |
true cuando la vista se considera en buen estado; 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 |
Si la vista está habilitada para las actualizaciones automáticas. |
EffectiveDateTime | datetime |
Fecha efectiva de la vista, determinada durante la hora de creación (vea .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 materialized:
.enable materialized-view ViewName
Salida
Nombre | SourceTable | Consultar | 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 siguiente comando deshabilita view ViewName materialized:
.disable materialized-view ViewName
Salida
Nombre | SourceTable | Consultar | 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 siguientes instancias:
- 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.
- Deshabilite explícitamente la vista materializada: Si la vista materializada afecta negativamente al estado del clúster (por ejemplo, consumir demasiada CPU), deshabilite la vista mediante el
.disable materialized-view
comando .
Vistas materializadas y seguridad de nivel de fila
Si se deshabilita una vista materializada 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 en 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 del clúster. 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 del clúster.
Comentarios
https://aka.ms/ContentUserFeedback.
Próximamente: A lo largo de 2024 iremos eliminando gradualmente las Cuestiones de GitHub como mecanismo de retroalimentación para el contenido y lo sustituiremos por un nuevo sistema de retroalimentación. Para más información, consulta:Enviar y ver comentarios de