Transacciones...

12/01/2005 - 16:06 por SpDFox | Informe spam
Tengo una duda ... cuando inicio una transacción con Begin Trans la tabla
vinculada a la trasacción se bloquea totalmente ??

Saludos.

SPdFox

Preguntas similare

Leer las respuestas

#1 qwalgrande
12/01/2005 - 16:25 | Informe spam
Hola.

El "begin transaction" en sí no bloquea nada. Si luego realizas operaciones
antes de realizar el "commit transaction" sí puedes llegar a bloquear la
tabla o tablas, a nivel de registro de página o de tabla incluso. Si por
ejemplo en tu transacción realizas:
begin trans
update tabla set campo1 = 'nuevo valor' where ClavePrimaria = 7500

Hasta que no hagas "commit trans", una select que incluya este registro se
quedaría bloqueada (siempre y cuando en la select no se reduzca el nivel de
aislamiento).

Échale un ojo a los BOL para tener una idea de cómo funciona.

qwalgrande

"SpDFox" wrote:

Tengo una duda ... cuando inicio una transacción con Begin Trans la tabla
vinculada a la trasacción se bloquea totalmente ??

Saludos.

SPdFox





Respuesta Responder a este mensaje
#2 Salvador Ramos
12/01/2005 - 16:30 | Informe spam
Por supuesto que no, si no imagínate la poca escalabilidad que tendría SQL
Server ;-)

Los datos (o filas) que se bloquea no o no, depende mucho de qué instrucción
estés ejecutando, los registros a los que afecte la transacción etc..
Si quieres aplicarlo a algun caso concreto, indicanos qué estás haciendo
exactamente, e intentaremos explicarte en tu caso concreto qué se está
bloqueando.

Un saludo
Salvador Ramos
Murcia - España
[Microsoft MVP SQL Server]
www.helpdna.net (información sobre SQL server, Windows DNA y .NET)

"SpDFox" escribió en el mensaje
news:eV69PhL%
Tengo una duda ... cuando inicio una transacción con Begin Trans la tabla
vinculada a la trasacción se bloquea totalmente ??

Saludos.

SPdFox




Respuesta Responder a este mensaje
#3 SpDFox
12/01/2005 - 17:48 | Informe spam
Les explico .

Desde el analizador de consultas ejecuto lo siguiente

BEGIN TRANSACTION
Update Tabla Set Codigo = '001' where idAnim = '2526'

Y luego abro otra ventana del analizador de consultas y ejecuto lo siguiente

Select * from Tabla Where codigo = '003'

Pero no me devuelve nada hasta que yo finalize la transacción en la ventana
anterior del analizador de consultas

Saludos

SPDFOX


"Salvador Ramos" escribió en el
mensaje news:OUFc1uL%
Por supuesto que no, si no imagínate la poca escalabilidad que tendría SQL
Server ;-)

Los datos (o filas) que se bloquea no o no, depende mucho de qué


instrucción
estés ejecutando, los registros a los que afecte la transacción etc..
Si quieres aplicarlo a algun caso concreto, indicanos qué estás haciendo
exactamente, e intentaremos explicarte en tu caso concreto qué se está
bloqueando.

Un saludo
Salvador Ramos
Murcia - España
[Microsoft MVP SQL Server]
www.helpdna.net (información sobre SQL server, Windows DNA y .NET)

"SpDFox" escribió en el mensaje
news:eV69PhL%
> Tengo una duda ... cuando inicio una transacción con Begin Trans la


tabla
> vinculada a la trasacción se bloquea totalmente ??
>
> Saludos.
>
> SPdFox
>
>
>
>


email Siga el debate Respuesta Responder a este mensaje
Ads by Google
Help Hacer una preguntaRespuesta Tengo una respuesta
Search Busqueda sugerida