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

Transacciones

Estas en el tema de Transacciones en el foro de SQL Server en Foros del Web. Me podeis confirmar si las transacciones sólo se crecen en los UPDATE, INSERT y DELETE y no afectan los SELECT. Gracias de antemano....
  #1 (permalink)  
Antiguo 10/09/2007, 03:53
 
Fecha de Ingreso: mayo-2006
Mensajes: 178
Antigüedad: 18 años
Puntos: 3
Transacciones

Me podeis confirmar si las transacciones sólo se crecen en los UPDATE, INSERT y DELETE y no afectan los SELECT.

Gracias de antemano.
  #2 (permalink)  
Antiguo 10/09/2007, 06:57
Avatar de Andres95
Colaborador
 
Fecha de Ingreso: diciembre-2004
Mensajes: 1.802
Antigüedad: 19 años, 4 meses
Puntos: 38
Re: Transacciones

No entiendo bien tu pregunta, a que te refieres con "se crecen" ?

Te comento que cuando se hace un update/insert/delete se realiza un bloque exclusivo, es decir, ningun otro usuario puede entrar a ver la informacion en tanto no se termine la operacion (ni siquiera un select), para evitar la corrupcion de los datos .

Sin embargo en SQL puedes utilizar la clausula "nolock", para que la consulta (select) no solicite bloqueos compartidos y pueda leer datos que incluso no han sido confirmados, solo hay que utilizarla con las debida cautela, para evitar que te envien informacion que no es correcta a tu aplicacion.


Saludos!
__________________
La sencillez y naturalidad son el supremo y último fin de la cultura...
--
MCTS : SQL Server 2008, .NET Framework 3.5, ASP.NET Applications.
  #3 (permalink)  
Antiguo 11/09/2007, 03:30
 
Fecha de Ingreso: mayo-2006
Mensajes: 178
Antigüedad: 18 años
Puntos: 3
Re: Transacciones

Aclaro mi pregunta:

Los SELECT en los queries afectan al tamaño del fichero de transacciones???. Lo engorda??? Es decir si hay muchas consultas, el tamaño del fichero de transacciones aumenta??

O sólo lo hace cuando ejecutas INSERT,DELETE y UPDATE???

Gracias
  #4 (permalink)  
Antiguo 11/09/2007, 10:38
Avatar de iislas
Colaborador
 
Fecha de Ingreso: julio-2007
Ubicación: Mexico, D.F.
Mensajes: 6.482
Antigüedad: 16 años, 9 meses
Puntos: 180
Re: Transacciones

tempdb
La base de datos tempdb almacena todas las tablas y todos los procedimientos almacenados temporales. También satisface otras necesidades de almacenamiento temporal, como las tablas de trabajo generadas por SQL Server. La base de datos tempdb es un recurso global; las tablas y los procedimientos almacenados temporales de todos los usuarios conectados al sistema se almacenan en ella; tempdb se vuelve a crear cada vez que se inicia SQL Server, de forma que el sistema se inicia con una copia limpia de la base de datos. Como las tablas y los procedimientos almacenados temporales se eliminan automáticamente al desconectar y cuando se cierra el sistema no hay conexiones activas, en tempdb nunca hay nada que se tenga que guardar de una sesión de SQL Server a otra.

De forma predeterminada, tempdb crece automáticamente según sea necesario al mismo tiempo que se ejecuta SQL Server. Sin embargo, de forma distinta a otras bases de datos, se reinicia a su estado original cada vez que se inicia el motor de base de datos. Si el tamaño definido en tempdb es pequeño, parte de su carga de proceso del sistema puede llevarse con el crecimiento automático de tempdb hasta el tamaño necesario para admitir la carga de trabajo cada vez que se inicia SQL Serv
  #5 (permalink)  
Antiguo 12/09/2007, 10:16
 
Fecha de Ingreso: mayo-2006
Mensajes: 178
Antigüedad: 18 años
Puntos: 3
Re: Transacciones

Gracias iislas pero no estoy hablando de la base de datos tempdb, sino que estoy hablando de una base de datos cualquiera y lo mas importante: el tamaño de las transacciones (fichero con extension LDF).
  #6 (permalink)  
Antiguo 12/09/2007, 11:52
Avatar de iislas
Colaborador
 
Fecha de Ingreso: julio-2007
Ubicación: Mexico, D.F.
Mensajes: 6.482
Antigüedad: 16 años, 9 meses
Puntos: 180
Re: Transacciones

Disculpa Guillermoesteban

La TEMPDB, se comporta EXACTAMENTE igual, que las transacciones, estas se guardan en el LOG de transacciones y hay de 2 tipos, IMPLICITAS (todas) y EXPLICITAS (BEGIN TRAN, COMMIT TRAN, ROLLBACK TRAN), entre mas transacciones generes, mas grande el LDF, hasta en tanto no hagas un BACKUP TRAN o bien un CHECKPOINT, este no se vaciara.

Te recomiendo que leas un poco tu ayuda en linea.
  #7 (permalink)  
Antiguo 13/09/2007, 01:24
 
Fecha de Ingreso: mayo-2006
Mensajes: 178
Antigüedad: 18 años
Puntos: 3
Re: Transacciones

Gracias por tu contestación iislas. Le echaré un vistazo.
  #8 (permalink)  
Antiguo 13/09/2007, 11:42
Avatar de iislas
Colaborador
 
Fecha de Ingreso: julio-2007
Ubicación: Mexico, D.F.
Mensajes: 6.482
Antigüedad: 16 años, 9 meses
Puntos: 180
Re: Transacciones

Te dejo una liga, sobre el tratamiento de los LDF, seguro que te servira.

Reducir el Log de Transacciones
http://www.helpdna.net/bosqlfaq01.htm

Saludos.
  #9 (permalink)  
Antiguo 13/09/2007, 21:44
Avatar de Mithrandir
Colaborador
 
Fecha de Ingreso: abril-2003
Mensajes: 12.106
Antigüedad: 21 años
Puntos: 25
Re: Transacciones

Espero que esto ayude a resolver tu duda original...

No. Los select no intervienen en el Log de transacciones. Ahí se almacena únicamente las modificaciones a los datos, un select no modifica datos.
__________________
"El hombre, en su orgullo, creó a Dios a su imagen y semejanza."
Friedrich Nietzsche
  #10 (permalink)  
Antiguo 16/09/2007, 04:59
 
Fecha de Ingreso: mayo-2006
Mensajes: 178
Antigüedad: 18 años
Puntos: 3
Re: Transacciones

Muchas gracias a todos. YA lo tengo claro.
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 00:09.