Foros del Web » Programación para mayores de 30 ;) » Bases de Datos General » SQL Server »

Transacciones en SQL Server 2000

Estas en el tema de Transacciones en SQL Server 2000 en el foro de SQL Server en Foros del Web. Transacciones en SQL Server 2000 Hola amigos, tengo una duda acerca de cómo se ejecutan unas transacciones Estoy haciendo mantenimiento a una aplicación y Hay ...
  #1 (permalink)  
Antiguo 25/05/2011, 10:53
Usuario no validado
 
Fecha de Ingreso: marzo-2008
Ubicación: Morelia Mich. México
Mensajes: 37
Antigüedad: 16 años, 9 meses
Puntos: 0
Pregunta Transacciones en SQL Server 2000

Transacciones en SQL Server 2000

Hola amigos, tengo una duda acerca de cómo se ejecutan unas transacciones
Estoy haciendo mantenimiento a una aplicación y Hay un proceso al elaborar facturas que manda a llamar un procedimiento almacenado que a su vez manda a llamar a otros 2 dentro del mismo y uno de esos 2 manda a llamar a otro, mi pregunta es si el ROLLBACK se ejecutaría en caso de que el procedimiento proc1 el DELETE no se pudiera ejecutar correctamente , ¿se deshace el COMMIT del proc2 y del proc3?, ¿el rollback tran1 deshace el commit tran2 y commit tran3?
create procedure proc 1
begin tran1

exec proc2
exec proc3
UPDATE
INSERT
DELETE {DIGAMOS QUE AQUI HAY UN ERROR Y YA NO SE PUEDE CONTINUAR}
INSERT

if condicion
commit tran1
else
rollback tran1

create procedure proc 2
begin tran2

if condicion
commit tran2
else
rollback tran2


create procedure proc 3
begin tran3

exec proc4
.
if condicion
commit tran3
else
rollback tran3

create procedure proc 4
begin tran4

if condicion
commit tran4
else
rollback tran4


¿si se ejecuta el rollback de todas las transacciones o me tocara hacer un procedimiento almacenado con el contenido de todas las transacciones y meterlas a una sola transaccion?
  #2 (permalink)  
Antiguo 25/05/2011, 12:27
Avatar de iislas
Colaborador
 
Fecha de Ingreso: julio-2007
Ubicación: Mexico, D.F.
Mensajes: 6.482
Antigüedad: 17 años, 4 meses
Puntos: 180
Respuesta: Transacciones en SQL Server 2000

Si lees un poco sobre TRANSACCIONES EN SQL SERVER, te daras cuenta que deben ser lo "mas cortas posibles", ya que su latencia, determina el uso del procesador.

Por tanto, no deberias tener encadenamiento de transacciones, salvo casos muy especiales.

Y si, al ser transacciones anidadas, cuando se encuentra un ROLLBACK TRAN, se des-hace TODA LA TRANSACCION de TODOS los procedimientos en cuestion.
__________________
MCTS Isaias Islas
  #3 (permalink)  
Antiguo 25/05/2011, 12:51
Usuario no validado
 
Fecha de Ingreso: marzo-2008
Ubicación: Morelia Mich. México
Mensajes: 37
Antigüedad: 16 años, 9 meses
Puntos: 0
Respuesta: Transacciones en SQL Server 2000

Cita:
Iniciado por iislas Ver Mensaje
Si lees un poco sobre TRANSACCIONES EN SQL SERVER, te daras cuenta que deben ser lo "mas cortas posibles", ya que su latencia, determina el uso del procesador.

Por tanto, no deberias tener encadenamiento de transacciones, salvo casos muy especiales.

Y si, al ser transacciones anidadas, cuando se encuentra un ROLLBACK TRAN, se des-hace TODA LA TRANSACCION de TODOS los procedimientos en cuestion.
OK muchas gracias, como te digo estoy haciendo mantenimiento, yo no hice los precidimientos, solo que para mover lo menos posible tanto codigo solo queria modificar un solo procedimiento, y con esta respuesta salgo de dudas, gracias

Etiquetas: server, sql, transacciones
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 09:34.