Limitaciones de las vistas materializadas y problemas conocidos
Se aplica a: ✅Microsoft Fabric✅Azure Data Explorer
Origen de la vista materializada
- La tabla de origen de una vista materializada:
- Debe ser una tabla en la que los datos se ingieren directamente, mediante una directiva de actualización o la ingesta de comandos de consulta.
- El uso de extensiones de movimiento o reemplazo de extensiones de otras tablas a la tabla de origen de la vista materializada solo se admite si se usa la
setNewIngestionTime
propiedad como parte del comando move extents (consulte los comandos .move extents y .replace extents para obtener más detalles). - Mover extensiones a la tabla de origen de una vista materializada, aunque no usar
setNewIngestionTime
puede producir un error con uno de los siguientes errores:Cannot drop/move extents from/to table 'TableName' since Materialized View 'ViewName' is currently processing some of these extents
.Cannot move extents to 'TableName' since materialized view 'ViewName' will not process these extents (can lead to data loss in the materialized view)
.
- El uso de extensiones de movimiento o reemplazo de extensiones de otras tablas a la tabla de origen de la vista materializada solo se admite si se usa la
- Debe ser una tabla en la que los datos se ingieren directamente, mediante una directiva de actualización o la ingesta de comandos de consulta.
- La tabla de origen de una vista materializada debe tener habilitada la directiva IngestionTime. Esta directiva está habilitada de forma predeterminada.
- Si la vista materializada usa una
lookback
(vea las propiedades admitidas),ingestion_time()
debe conservarse en la consulta de la vista materializada. Los operadores como el complemento mv-expand o pivot no conservaningestion_time()
y, por tanto, no se pueden usar en una vista materializada con .lookback
- La tabla de origen de una vista materializada no puede ser una tabla con una directiva de acceso de vista restringida.
- No se puede crear una vista materializada encima de otra vista materializada, a menos que la primera vista materializada sea de tipo
take_any(*)
agregación. Consulte la vista materializada sobre la vista materializada. - Las vistas materializadas no se pueden definir en tablas externas.
Advertencia
- El sistema deshabilitará automáticamente una vista materializada si cambia a la tabla de origen de la vista materializada o los cambios en los datos provocan incompatibilidad entre la consulta de vista materializada y el esquema de la vista materializada esperada.
- Para evitar este error, la consulta de vista materializada debe ser determinista. Por ejemplo, el bag_unpack o los complementos dinámicos dan como resultado un esquema no determinista.
- Cuando se usa una
arg_max(Timestamp, *)
agregación y cuandoautoUpdateSchema
es false, los cambios en la tabla de origen también pueden provocar errores de coincidencia de esquema.- Evite este error definiendo la consulta de vista como
arg_max(Timestamp, Column1, Column2, ...)
o mediante laautoUpdateSchema
opción .
- Evite este error definiendo la consulta de vista como
- El uso
autoUpdateSchema
puede provocar una pérdida de datos irreversible cuando se quitan las columnas de la tabla de origen. - Supervise la deshabilitación automática de las vistas materializadas mediante la métrica MaterializedViewResult.
- Después de corregir los problemas de incompatibilidad, la vista debe volver a habilitarse explícitamente mediante el comando habilitar vista materializada.
Impacto de los registros ingeridos o eliminados de la tabla de origen
- Una vista materializada solo procesa los registros nuevos ingeridos en la tabla de origen. Los registros que se quitan de la tabla de origen, ya sea mediante la ejecución de extensiones de eliminación temporal de purga//de datos, o debido a la directiva de retención o a cualquier otro motivo, no tienen ningún impacto en la vista materializada.
- La vista materializada tiene su propia directiva de retención, que es independiente de la directiva de retención de la tabla de origen. La vista materializada puede incluir registros que no están presentes en la tabla de origen.
Bases de datos de seguidores
- Las vistas materializadas no se pueden crear en bases de datos de seguidor. Las bases de datos del seguidor son de solo lectura y las vistas materializadas requieren operaciones de escritura.
- Las vistas materializadas no se pueden crear en métodos abreviados de base de datos. Los métodos abreviados de base de datos son de solo lectura y las vistas materializadas requieren operaciones de escritura.
- Las vistas materializadas definidas en las bases de datos líder se pueden consultar desde sus seguidores, como cualquier otra tabla del líder.
- Use el clúster líder para supervisar las vistas materializadas de la base de datos del seguidor. Para obtener más información, consulte Vistas materializadas en bases de datos de seguidor.
- Use eventhouse de origen para supervisar las vistas materializadas de la base de datos de acceso directo. Para obtener más información, consulte Supervisión de vistas materializadas.
Otros
- Las funciones de cursor no se pueden usar sobre vistas materializadas.
- No se admite la exportación continua desde una vista materializada.