sql >> Base de Datos >  >> RDS >> Sqlserver

¿Ejecutar un procedimiento almacenado desde un formulario de Windows de forma asincrónica y luego desconectarse?

Este es en realidad un escenario bastante común. No puede hacer nada basado en el cliente porque el cliente puede desaparecer y desconectarse y perderá el trabajo realizado hasta el momento. La solución es usar Activación de Service Broker :crea un servicio en la base de datos y adjunta un procedimiento activado. En tu aplicación (o página ASP) envías un mensaje al servicio e incrustas los parámetros necesarios para tu trámite. Después de que su aplicación se confirme, el mensaje activa el procedimiento de servicio. el procedimiento de servicio lee los parámetros del mensaje e invoca su procedimiento. dado que la activación ocurre en un subproceso del servidor que no está relacionado con su conexión original, esto es confiable. De hecho, el servidor puede incluso apagarse y reiniciarse mientras su procedimiento se está ejecutando y el trabajo se revertirá y luego se reanudará, ya que el mensaje de activación activará nuevamente el procedimiento de servicio después del reinicio.

Actualizar

He publicado los detalles de cómo hacer esto, incluido el código de muestra en mi blog:Ejecución de procedimiento asíncrono .