ventas proceso marketing kotler importancia ejemplos c# .net sql-server-2005 .net-3.5 transactions

c# - marketing - Conecto la estación de trabajo del cliente, ¿qué ocurre con un proceso de base de datos de larga ejecución?



proceso de ventas (3)

Posible duplicado:
SQL Server y pérdida de conexión en medio de una transacción

Tengo una aplicación cliente .NET 3.5 que inicia un proceso almacenado de larga duración (5-10 m) en el MS SQL Server 2005. El proceso almacenado comienza con BEGIN TRAN y finaliza con COMMIT TRAN .

Si desconecto el enchufe de la estación de trabajo, ¿qué ocurre con el procedimiento almacenado? ¿Termina de ejecutarse? ¿Termina de funcionar bajo todas las circunstancias? ¿O la pérdida de conectividad con la estación de trabajo hará que la base de datos aborte el proceso almacenado?

EDITAR: la estación de trabajo y el servidor SQL se encuentran en diferentes cuadros.


Dado que el procedimiento almacenado se ejecuta en el servidor, si BEGIN / END TRANSACTION es parte de ese procedimiento almacenado, el procedimiento debería completarse (salvo errores). El cliente nunca recibirá ningún resultado, por supuesto, ya que la conexión se perdió.


La pérdida de la potencia de la estación de trabajo no necesariamente hará que el SP aborte, pero podría hacer que la transacción retroceda.

Digo "podría" porque depende exactamente de cuándo el cliente pierde su poder. Si una conexión de red se pierde en un "agujero negro" como este, no se notificará inmediatamente al servidor que ocurrió alguna desconexión; tiene que depender de que TCP eventualmente le diga que la conexión está muerta simplemente porque el otro lado no ha respondido a nada en X veces.

Esto es diferente de desconectar la aplicación cliente de forma explícita y ''normalmente''; en tal caso, el cliente cierra de manera explícita la conexión, si corresponde, y SQL sabrá de inmediato que el cliente se ha ido.