pregunta de transaction

26/10/2005 - 11:48 por Ricardo Escudero | Informe spam
cuando se hace el begin transaction el sistema guarda una copia de la\las
tablas que tratemos dentro de esta transaccion
o solamente se guarda los cambios.
Lo digo porque si la\las tablas son muy grandes, solamente el realizar la
copia ya puede dar tiempos elevados de ejecucion.


Es esto asi o me equivoco?


muchas gracias

Preguntas similare

Leer las respuestas

#1 Carlos Sacristán
26/10/2005 - 11:56 | Informe spam
¿Cómo que una copia? No, SQL Server no realiza ninguna copia de nada,
simplemente registra la instrucción en el log para que luego no existan
inconsistencias por apagado incorrecto del sistema o problemas externos...
Lo que sí que puede pasar es que si se abre la transacción, bien por un
nivel de aislamiento elevado o bien porque no existen índices adecuados para
limitar los recursos bloqueados, es que otras sentencias se queden esperando
a que finalice la transacción para poder continuar su ejecución.

También puede ocurrir que si hay muchos datos involucrados en la
transacción, el log se termine llenando y ya no se pueda seguir usando la
base de datos hasta que no se limpie la parte inactiva del mismo...


Un saludo

-
"Sólo sé que no sé nada. " (Sócrates)

"Ricardo Escudero" escribió en el mensaje
news:
cuando se hace el begin transaction el sistema guarda una copia de la\las
tablas que tratemos dentro de esta transaccion
o solamente se guarda los cambios.
Lo digo porque si la\las tablas son muy grandes, solamente el realizar la
copia ya puede dar tiempos elevados de ejecucion.


Es esto asi o me equivoco?


muchas gracias


Respuesta Responder a este mensaje
#2 Ricardo Escudero
26/10/2005 - 13:30 | Informe spam
como puedo averiguar el tamaño del log y el limite que tiene, teniendo en
cuenta que solo tengo acceso mediante analizador de consultas.

Muchas gracias

"Carlos Sacristán" <csacristanARROBAmvpsPUNTOorg> escribió en el mensaje
news:
¿Cómo que una copia? No, SQL Server no realiza ninguna copia de nada,
simplemente registra la instrucción en el log para que luego no existan
inconsistencias por apagado incorrecto del sistema o problemas externos...
Lo que sí que puede pasar es que si se abre la transacción, bien por un
nivel de aislamiento elevado o bien porque no existen índices adecuados
para
limitar los recursos bloqueados, es que otras sentencias se queden
esperando
a que finalice la transacción para poder continuar su ejecución.

También puede ocurrir que si hay muchos datos involucrados en la
transacción, el log se termine llenando y ya no se pueda seguir usando la
base de datos hasta que no se limpie la parte inactiva del mismo...


Un saludo

-
"Sólo sé que no sé nada. " (Sócrates)

"Ricardo Escudero" escribió en el mensaje
news:
cuando se hace el begin transaction el sistema guarda una copia de la\las
tablas que tratemos dentro de esta transaccion
o solamente se guarda los cambios.
Lo digo porque si la\las tablas son muy grandes, solamente el realizar la
copia ya puede dar tiempos elevados de ejecucion.


Es esto asi o me equivoco?


muchas gracias






Respuesta Responder a este mensaje
#3 Maxi \(MVP SQL\)
27/10/2005 - 04:49 | Informe spam
Hola, usa sp_helpdb


-
[MS-MVP SQL SERVER]

"Ricardo Escudero" escribió en el mensaje
news:%23BI%
como puedo averiguar el tamaño del log y el limite que tiene, teniendo en
cuenta que solo tengo acceso mediante analizador de consultas.

Muchas gracias

"Carlos Sacristán" <csacristanARROBAmvpsPUNTOorg> escribió en el mensaje
news:
¿Cómo que una copia? No, SQL Server no realiza ninguna copia de nada,
simplemente registra la instrucción en el log para que luego no existan
inconsistencias por apagado incorrecto del sistema o problemas
externos...
Lo que sí que puede pasar es que si se abre la transacción, bien por un
nivel de aislamiento elevado o bien porque no existen índices adecuados
para
limitar los recursos bloqueados, es que otras sentencias se queden
esperando
a que finalice la transacción para poder continuar su ejecución.

También puede ocurrir que si hay muchos datos involucrados en la
transacción, el log se termine llenando y ya no se pueda seguir usando la
base de datos hasta que no se limpie la parte inactiva del mismo...


Un saludo

-
"Sólo sé que no sé nada. " (Sócrates)

"Ricardo Escudero" escribió en el mensaje
news:
cuando se hace el begin transaction el sistema guarda una copia de
la\las
tablas que tratemos dentro de esta transaccion
o solamente se guarda los cambios.
Lo digo porque si la\las tablas son muy grandes, solamente el realizar
la
copia ya puede dar tiempos elevados de ejecucion.


Es esto asi o me equivoco?


muchas gracias










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