Compartir a través de


Procesamiento asincrónico de transacciones en cascada

Algunas transacciones se pueden configurar para que hagan cascada en todos los registros relacionados. Esto significa que el cambio en un registro primario se realiza mediante transacción (en cascada) a través de todos los registros secundarios. Las relaciones en cascada se configuran a nivel de tabla. Para obtener más información sobre las relaciones en cascada, consulte Configurar comportamiento de cascada de relaciones de tabla.

Modo sincrónico y modo asincrónico

De forma predeterminada, las operaciones en cascada se realizan como transacción sincrónica. Para una transacción en cascada sincrónica, todos los registros afectados están identificados por el sistema. A medida que se procesan los registros, se bloquean en el sistema. Una vez que se han completado todos los cambios, los registros se desbloquean y se completa la transacción.

Las transacciones sincrónicas con un gran número de registros pueden producir problemas de rendimiento cuando transacciones de larga duración generan un error debido a los tiempos de espera agotados del servidor. Los registros se bloquean para evitar que otras transacciones de trabajos y usuarios que operen en los mismos registros, se ejecuten. Además, las transacciones de larga duración pueden provocar un trabajo pendiente de transacciones y solicitudes pendientes que reduzca el rendimiento del sistema y pueda producir un paro laborable.

Si un entorno está encontrando tiempos de espera o rendimiento degradado en tanto que las operaciones asincrónicas en cascada están en curso, el entorno puede aprovecharse habilitando el modo asincrónico. Las diferencias fundamentales entre los modos se describen en la tabla siguiente.

Modo sincrónico Modo asincrónico
Ningún otro trabajo se puede ejecutar en el conjunto completo de registros seleccionados (directo o en cascada) hasta completar la operación en cascada. Para Asignar, Eliminar y Combinar, los cambios en cascada se agrupan en lotes, bloqueando solo los registros que se procesan dentro del lote. Esto permite que otros trabajos se ejecuten durante la operación completa de cambio en cascada.
Cuando se completa el trabajo, todos los datos muestran el nuevo valor deseado. Mientras se ejecuta el trabajo, cada lote completado muestra el valor deseado. Esto significa que hay un momento en que algún dato muestre el valor deseado y otro momento en que muestre el valor original hasta completar la operación completa. Esto se conoce usualmente como "posible coherencia".
Si se produce un error en un solo registro, todos los datos se devuelven al valor original. La reversión requiere la reedición de todos los registros completados, lo que requiere más tiempo. Si se produce un error en una sola tarea, se reintenta varias veces para intentar acabar. Si el trabajo no puede completarse, se registrará el error en la área Trabajos del sistema. Observe que los registros completados con éxito conservan el nuevo valor.
Si uno de los registros de la lista en cascada tiene un valor diferente al valor esperado, el trabajo genera un error y se revierte. Por ejemplo, suponga que el registro inicial pertenece a Propietario 1 y la operación en cascada desea cambiarlo a Propietario 2. Si uno de los registros relacionados con la cadena ha cambiado a Propietario 3 o se elimina antes de que se produzca el bloqueo, el trabajo completo se revierte. Para Asignar, la operación funciona siempre en el modo sobrescribir que cambia el valor actual por el nuevo valor basándose en la relación secundaria y principal. No hay errores de trabajo debido a una discrepancia de valores original. Para Eliminar, si falta un registro que se esperaba como parte del conjunto, todos los registros hasta el punto de error se consideran completados. El usuario o el administrador pueden volver a ejecutar el trabajo con errores, lo que vuelve a calcular el trabajo para continuar sin el registro que falta. Para Merge, si hay un problema con un registro que falta, el trabajo se vuelve a intentar y se ejecuta sin el registro que falta.

Modo asincrónico y complementos

Cuando una transacción en cascada alcanza el umbral de registros incluidos y no tiene ningún complemento asociado con los registros, los registros se procesan de forma asincrónica.

Operación Threshold
Assignar 1000 registros
Delete 10 000 registros
Merge 1000 registros

Si hay un complemento asignado a un registro dentro del lote asincrónico, la actualización o eliminación del registro único junto con todos los complementos asociados para ese registro se ejecutará de forma sincrónica. Esto se produce como parte de una transacción antes de pasar al siguiente registro del lote asincrónico.

Si un complemento dentro de la transacción asincrónica desencadena una nueva eliminación o asignación en cascada, la nueva transacción en cascada siempre se ejecuta de forma sincrónica dentro de la transacción asincrónica actual. Esto evita tener varias capas de transacciones asincrónicas.

Seguimiento del progreso de la operación asincrónica

Los administradores pueden controlar el procesamiento de las operaciones asincrónicas en la área Configuración.

  1. Inicie sesión en el Centro de administración de Power Platform.

  2. Seleccionar Entornos en el área de navegación. Luego seleccione el entorno que desea.

  3. Seleccione Configuración, expanda Auditoría y registros y luego seleccione Trabajos del sistema.

  4. Las operaciones en cascada se muestran en la vista Trabajos del sistema.

    Vista de operaciones en cascada.

    Para ver únicamente operaciones en cascada, en el seleccionador Vista seleccione Operaciones en cascada.

    Selector de vistas de operaciones en cascada.

Las operaciones en cascada tienen uno de los siguientes estados:

  • Completado: Todos los lotes de transacciones en cascada se completaron correctamente.
  • En curso: Los cambios en cascada están en curso.
  • Con errores: Después de varios reintentos, algunos de los cambios en cascada han dado errores.

Nota

No es posible cancelar un trabajo en cascada asincrónico. Debe esperar a que se complete con el estado Completado o Error.

Al abrir una operación en cascada se ve:

  • El número de reintentos que se han realizado para la transacción específica.

  • Fechas y horas de creación y finalización.

  • Quién creó el trabajo.

  • Los mensajes asociados al trabajo, como razones de error, o excepciones.

    Registro de operación en cascada.

¿Qué transacciones en cascada se pueden procesar de forma asincrónica?

Las transacciones en cascada de Asignar, Eliminar y Combinar se pueden procesar de forma asincrónica.

Nota

Actualmente, se están revisando otras transacciones, como compartir/no compartir, vista consolidada y cambio de primario para su procesamiento asincrónico.

Solución de problemas con operaciones en cascada asincrónicas

Cuando se produce un error en los trabajos en cascada sincrónicos, se detienen y revierten todos los cambios para que ninguno de los registros incluya los cambios solicitados. Este puede ser un proceso lento ya que las reversiones pueden tardar tanto tiempo como el intento original y reintentar la operación comienza de nuevo desde el primer registro.

Las operaciones asincrónicas se reintentarán varias veces, si se produce un error. En la mayoría de los casos, volver a intentar el trabajo hace que el trabajo se realice continuamente y que pueda continuar hasta completarse. En algunos casos excepcionales, volver a intentarlo no resuelve el problema. Cuando esto suceda, se detiene el trabajo asincrónico y el administrador y el usuario podrán solucionar el problema y reanudar el trabajo desde el punto en el que se puso en pausa.

Causas comunes de errores en las operaciones en cascada

Entre las razones comunes de errores en el procesamiento de operaciones en cascada se incluyen:

  • Excepciones de complemento
  • Excepciones de seguridad

Excepciones de complemento

Los complementos se agregan al procesamiento de operaciones en cascada para realizar acciones específicas cuando se realizan cambios en un registro, como enviar un correo electrónico o desencadenar una actualización diferente en otros registros. Se pueden proporcionar por terceros o desarrollar internamente. Si un complemento genera una excepción, se produce un error en la operación en cascada. Según el motivo de la excepción, un reintento puede resolver el problema. Si el trabajo en cascada asincrónico se pone en pausa debido a errores, valide todos los complementos asociados con las operaciones para asegurarse de que no generen excepciones. Una vez corregido, el trabajo puede reanudarse.

Excepciones de seguridad

Las excepciones de seguridad se producen cuando el usuario que ejecutó la operación en cascada no tiene privilegios suficientes para realizar un cambio en uno o más registros, o se ha deshabilitado al usuario o eliminado del sistema.

Si el usuario sigue encontrándose en el sistema, verifique que tenga los privilegios necesarios para modificar los registros y que tenga permiso para ejecutar las acciones especificadas. Una vez que esto se resuelva, reanude el trabajo.

Si se ha deshabilitado o eliminado el usuario del sistema, volver a habilitar o a agregar al usuario resuelve el problema y se podrá reanudar el trabajo. Sin embargo, si se debe eliminar o deshabilitar al usuario, o no se supone que tenga permisos para las acciones o registros, el trabajo se debe cancelar y reiniciar por alguien con los permisos adecuados.

Para cualquier otro problema con trabajos con errores, comuníquese con el Soporte de Microsoft. Más información: Descripción general del soporte técnico

Solución de problemas de eliminación de archivos durante la combinación en cascada

Si tiene problemas con las operaciones de combinación en cascada porque los archivos se eliminan durante la ejecución del trabajo, puede omitir la comprobación de relación jerárquica. Esto permite que su combinación continúe incluso si alguien elimina un registro del conjunto mientras que el trabajo se está ejecutando en segundo plano. Cuando elija combinar registros, en la parte inferior de la ventana de combinación, desactive la opción La comprobación de relación jerárquica está habilitada de forma predeterminada. Desactive esto para omitir la comprobación de relación jerárquica.

Cuadro de diálogo Combinar registros.

Ejemplo de Combinar registro

Imagine que tiene cuentas con una relación de contacto, que tiene una relación con pedidos. Desea combinar dos registros de cuentas.

Si el trabajo se ejecuta correctamente, la combinación asigna todos los contactos relacionados y sus pedidos a la cuenta de destino.

Si durante el proceso de combinación de registros, otro usuario elimina un registro de contacto relacionado, pero aún existen registros de pedidos relacionados con el registro de contacto, se produce un error en el trabajo de combinación porque falta un registro principal a secundario. Si opta por omitir la comprobación de relación jerárquica durante la combinación de registros, los pedidos con el registro de contacto que falta se combinan en el registro de la cuenta de destino. Sin embargo, no se asignan registros de contacto relacionados a la cuenta de destino y el trabajo se completa.

Bloqueos debidos a la combinación que impiden otros cambios de acceso

La operación Combinación en cascada otorga acceso al nuevo propietario de la tabla subordinada. Para hacer esto, la operación de combinación en cascada accede a la tabla de objetos principales y realiza en ella cambios que requieren un bloqueo. Si una operación de combinación contiene muchos registros (según la relación en cascada), este bloqueo podría aplicarse durante un período de tiempo prolongado. Esto podría causar un error si una operación intenta otorgar o revocar el acceso a un registro no relacionado mientras está ejecuta la combinación. En este caso, pruebe a ejecutar la combinación durante las horas de inactividad, para que se pueda reducir el bloqueo.

Consulte también

Información general sobre relaciones entre tablas