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

duda con sql server

Estas en el tema de duda con sql server en el foro de SQL Server en Foros del Web. tengo una duda tecnica sobre el funcionamiento de sql server... es sobre la forma en que maneja las transacciones... la pregunta es muy simple: la ...
  #1 (permalink)  
Antiguo 30/08/2006, 11:59
 
Fecha de Ingreso: septiembre-2005
Mensajes: 3
Antigüedad: 18 años, 7 meses
Puntos: 0
duda con sql server

tengo una duda tecnica sobre el funcionamiento de sql server...

es sobre la forma en que maneja las transacciones...


la pregunta es muy simple:

la transaccion 1 y la transaccion 2 quieren insertar una fila en la tablaA

la transaccion 2 quiere hacerlo justo despues que la transaccion 1, pero esta no commitio aun...

si sql server no tiene configurado nada en especial en cuanto a niveles de aislamiento...(stored procedure comun) que deberia pasar???

mi teoria , es que transaccion 2 debe esperar a que termine(haga commit) transaccion 1 para hacer su insercion...(aunque haciendo algunos experimentos observamos algunas cosas raras que nos hacen dudarlo)

desde el punto de vista teorico...que debería pasar?
  #2 (permalink)  
Antiguo 31/08/2006, 11:59
Avatar de Mithrandir
Colaborador
 
Fecha de Ingreso: abril-2003
Mensajes: 12.106
Antigüedad: 21 años
Puntos: 25
Con la configuracion standard Tran2 quedará esperando hasta que pueda obtener acceso a la tabla o la aplicación cancele la petición (por ejemplo un timeout)

Puedes hacer el ejecricio con Query Analyzer y 2 ventanas. En una abres la transacción y bloqueas una tabla con por ejemplo un UPDATE y no des commit

En la otra ventana haz un select sobre la misma tabla y verás que la consulta queda en el limbo hasta que por el otro lado confirmes (o deshagas) la transacción.

Pero para ampliar la diversión.... Revisa la documentación sobre los TRANSACTION ISOLATION LEVELS
__________________
"El hombre, en su orgullo, creó a Dios a su imagen y semejanza."
Friedrich Nietzsche
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 01:56.