Nota:
El acceso a esta página requiere autorización. Puede intentar iniciar sesión o cambiar directorios.
El acceso a esta página requiere autorización. Puede intentar cambiar los directorios.
El framework de control de lógica empresarial te permite escribir un ensamblaje de código administrado que se llama durante el proceso de sincronización de combinación. El ensamblado incluye lógica de negocios que puede responder a una serie de condiciones durante la sincronización: cambios de datos, conflictos y errores. El marco de control de lógica de negocios proporciona un modelo de programación sencillo y los datos que proporciona el proceso de combinación al ensamblado están en forma de un conjunto de datos de ADO.NET, por lo que puede aprovechar el conocimiento de ADO.NET en lugar de aprender una interfaz propietaria. Para más información sobre la programación de controladores de lógica de negocios, consulte:
Referencia de la interfaz de programación de aplicaciones (API): Microsoft.SqlServer.Replication.BusinessLogicSupport
Instrucciones sobre cómo implementar un controlador de lógica de negocios: Implementación de un controlador de lógica de negocios para un artículo de combinación
Usos para controladores de lógica de negocios
El proceso de sincronización de combinación puede invocar controladores de lógica de negocio para realizar:
Control de cambios personalizado
Resolución de conflictos personalizada
Resolución de errores personalizada
Nota:
El controlador de lógica de negocios especificado se ejecuta para cada fila que se sincroniza. La lógica compleja y las llamadas a otras aplicaciones o servicios de red pueden afectar al rendimiento.
Control de cambios personalizado
El controlador de lógica de negocios se puede invocar durante el procesamiento de cambios de datos no conflictivos y puede realizar una de estas tres acciones:
Rechazar los datos
Esto resulta útil para las aplicaciones que no quieren que los cambios se propaguen a un suscriptor determinado o desde este. Por ejemplo, un administrador podría filtrar las inserciones que no pertenecen a la partición del suscriptor o, posiblemente, rechazar las eliminaciones realizadas en un suscriptor. Como otro ejemplo, una aplicación podría rechazar un pedido escrito en un suscriptor porque el inventario ya no está disponible.
Aceptar los datos
Esto es útil para las aplicaciones en las que es necesario revisar los cambios de datos realizados en el publicador o suscriptor antes de permitir que se propaguen. Por ejemplo, una aplicación de nivel medio podría examinar los nuevos pedidos procedentes del campo e integrarlos con un proceso de flujo de trabajo de adquisición en el nivel medio.
Aplicación de datos personalizados
Esto es útil para las aplicaciones que necesitan invalidar valores o operaciones de datos específicos. Por ejemplo, una aplicación podría transformar una eliminación de fila en una actualización especial que establece una columna de estado de la fila en un valor de "eliminado" y, a continuación, realizar un seguimiento de la identidad del cliente que realiza la eliminación. Esto puede ser útil para fines de auditoría o flujo de trabajo.
Resolución de conflictos personalizada
La replicación de mezcla proporciona detección y resolución de conflictos, lo que le permite aceptar una estrategia de resolución predeterminada u optar por una resolución personalizada de los conflictos. Para más información, consulte Replicación de mezcla avanzada: detección y resolución de conflictos. El controlador de lógica de negocios se puede invocar durante el procesamiento de cambios de datos en conflicto y puede realizar una de estas dos acciones:
Aceptar resolución predeterminada
Esto resulta útil para las aplicaciones que podrían necesitar revisar el conflicto, realizar acciones adicionales y, posiblemente, registrar un mensaje de registro de conflictos personalizado.
Ejecutar resolución personalizada
Esto es útil para las aplicaciones que pueden necesitar seleccionar valores de datos específicos de su lógica de negocios y proporcionar el proceso de sincronización con este conjunto de datos personalizado. Por ejemplo, una aplicación podría proporcionar una nueva versión de la fila ganadora combinando valores de los conjuntos de datos publicadores y suscriptores.
Resolución de errores personalizada
La lógica personalizada se puede invocar durante la propagación de cambios que producen errores. La lógica puede realizar una de estas dos acciones:
Aceptar resolución de errores predeterminada
Esto es útil para las aplicaciones que podrían necesitar revisar el error y realizar acciones adicionales y, posiblemente, registrar un mensaje de registro de errores personalizado.
Aceptar resolución de errores personalizada
Esto es útil para las aplicaciones que pueden necesitar seleccionar valores de datos específicos de su lógica de negocios y proporcionar el proceso de sincronización con este conjunto de datos personalizado. Por ejemplo, si el proceso de replicación encuentra una infracción de clave duplicada, el controlador de lógica de negocios podría proporcionar una nueva versión del cambio de datos en el que la clave dejará de entrar en conflicto. Los cambios realizados en el publicador y el suscriptor pueden persistir en la base de datos, y el proceso de replicación no necesita realizar un borrado para compensar una inserción fallida.
Escenarios de implementación para controladores de lógica de negocios
Los controladores de lógica de negocios se pueden implementar en:
Distribuidor. Use una suscripción de inserción para que la lógica empresarial se ejecute en el Distribuidor.
Suscriptor. Utilice una suscripción de extracción para que la lógica empresarial se ejecute en el suscriptor.
Un servidor de Internet Information Services (IIS) si se usa la sincronización web. Use una suscripción de extracción sincronizada con la sincronización web, y el controlador de lógica de negocios se ejecutará en el servidor IIS.
Véase también
Replicación de fusión
Suscribirse a publicaciones
Sincronizar datos
Sincronización web para replicación por mezcla