Cómo impedir que el registro de transacciones creazca

10/06/2009 - 10:24 por davidr | Informe spam
Hola a todos,
tengo un base de datos de 3 gigas de tamaño. Estoy haciendo limpieza de los
registros que no necesito pero, mi problema viene que al ir eliminando
registros de modo masivo hace que el el registro de transacciones crezca
rapidamente y me quedo sin espacio en la carpeta donde tengo el log. ¿Cómo
puedo decirle que no me genere registros de transacciones?, al menos
temporalmente.

Gracias de antemano.

Preguntas similare

Leer las respuestas

#1 Carlos Sacristan
10/06/2009 - 10:36 | Informe spam
No puedes evitar que SQL Server use el registro de transacciones para lo que
se diseñó, pero lo que sí que puedes hacer es evitar que crezca
desmesuradamente.

Una posible solución es poner la base de datos en modo de recuperación
SIMPLE cuando ejecutes esas instrucciones y volverla a poner al modo
original cuando acabes. Sería recomendable que hicieras un backup antes y
después de realizar dicha operación

Un saludo
-
www.navento.com
Servicios de Localización GPS

http://blogs.solidq.com/ES/ElRincon...fault.aspx

"davidr" escribió en el mensaje
news:
Hola a todos,
tengo un base de datos de 3 gigas de tamaño. Estoy haciendo limpieza de
los
registros que no necesito pero, mi problema viene que al ir eliminando
registros de modo masivo hace que el el registro de transacciones crezca
rapidamente y me quedo sin espacio en la carpeta donde tengo el log. ¿Cómo
puedo decirle que no me genere registros de transacciones?, al menos
temporalmente.

Gracias de antemano.
Respuesta Responder a este mensaje
#2 davidr
10/06/2009 - 15:27 | Informe spam
Carlos, gracias por la ayuda.

Probé metiéndole Simple como modelo de recuperación pero me volvió a fallar.
Como tenía otra unidad de 40 gigas libres probé a meter el log allí y a
priori acabo de borrar los registros. Ahora lo que no entiendo es porque el
fichero de datos (mdf) de la base de datos, después de borrar registros no
reduce su tamaño del mdf
Si se te ocurriera por qué no cambia el tamaño te lo agradecería.

Saludos.

"Carlos Sacristan" wrote:

No puedes evitar que SQL Server use el registro de transacciones para lo que
se diseñó, pero lo que sí que puedes hacer es evitar que crezca
desmesuradamente.

Una posible solución es poner la base de datos en modo de recuperación
SIMPLE cuando ejecutes esas instrucciones y volverla a poner al modo
original cuando acabes. Sería recomendable que hicieras un backup antes y
después de realizar dicha operación

Un saludo
-
www.navento.com
Servicios de Localización GPS

http://blogs.solidq.com/ES/ElRincon...fault.aspx

"davidr" escribió en el mensaje
news:
> Hola a todos,
> tengo un base de datos de 3 gigas de tamaño. Estoy haciendo limpieza de
> los
> registros que no necesito pero, mi problema viene que al ir eliminando
> registros de modo masivo hace que el el registro de transacciones crezca
> rapidamente y me quedo sin espacio en la carpeta donde tengo el log. ¿Cómo
> puedo decirle que no me genere registros de transacciones?, al menos
> temporalmente.
>
> Gracias de antemano.



Respuesta Responder a este mensaje
#3 Carlos Sacristan
10/06/2009 - 15:39 | Informe spam
Si realizas las mismas operaciones el problema lo seguirás teniendo, como te
ha ocurrido. Lo suyo es ir eliminando esos registros por bloques; por
ejemplo, si tienes que borrar 100.000 registros, haz un bucle para borrar de
10.000 en 10.000. En modo de recuperación SIMPLE, no es lo mismo que SQL
Server registre 10 operaciones de eliminación de 10.000 registros que 1 sola
de 100.000

En cuanto al tamaño del registro de datos, no se reduce a menos que así se
lo indiques. Revisa en los BOL la instrucción DBCC SHRINKFILE para adecuar
el tamaño al que tú consideres correcto. Ahora, no te recomiendo que lo
reduzcas mucho si piensas que en breve va a aumentar de nuevo el tamaño, ya
que lo único que estarías consiguiendo es fragmentar el archivo.

Un saludo
-
www.navento.com
Servicios de Localización GPS

http://blogs.solidq.com/ES/ElRincon...fault.aspx

"davidr" escribió en el mensaje
news:
Carlos, gracias por la ayuda.

Probé metiéndole Simple como modelo de recuperación pero me volvió a
fallar.
Como tenía otra unidad de 40 gigas libres probé a meter el log allí y a
priori acabo de borrar los registros. Ahora lo que no entiendo es porque
el
fichero de datos (mdf) de la base de datos, después de borrar registros no
reduce su tamaño del mdf
Si se te ocurriera por qué no cambia el tamaño te lo agradecería.

Saludos.

"Carlos Sacristan" wrote:

No puedes evitar que SQL Server use el registro de transacciones para lo
que
se diseñó, pero lo que sí que puedes hacer es evitar que crezca
desmesuradamente.

Una posible solución es poner la base de datos en modo de recuperación
SIMPLE cuando ejecutes esas instrucciones y volverla a poner al modo
original cuando acabes. Sería recomendable que hicieras un backup antes y
después de realizar dicha operación

Un saludo
-
www.navento.com
Servicios de Localización GPS

http://blogs.solidq.com/ES/ElRincon...fault.aspx

"davidr" escribió en el mensaje
news:
> Hola a todos,
> tengo un base de datos de 3 gigas de tamaño. Estoy haciendo limpieza de
> los
> registros que no necesito pero, mi problema viene que al ir eliminando
> registros de modo masivo hace que el el registro de transacciones
> crezca
> rapidamente y me quedo sin espacio en la carpeta donde tengo el log.
> ¿Cómo
> puedo decirle que no me genere registros de transacciones?, al menos
> temporalmente.
>
> Gracias de antemano.



Respuesta Responder a este mensaje
#4 davidr
10/06/2009 - 16:07 | Informe spam
Perdona mi ignorancia pero, si libero el espacio con DBCC SHRINKFILE o con
DBCC SHRINKDATABASE no existe modo alguno de compactar ese archivo mdf. Lo
pregunto porque tengo bastantes limitaciones de espacio.

"Carlos Sacristan" wrote:

Si realizas las mismas operaciones el problema lo seguirás teniendo, como te
ha ocurrido. Lo suyo es ir eliminando esos registros por bloques; por
ejemplo, si tienes que borrar 100.000 registros, haz un bucle para borrar de
10.000 en 10.000. En modo de recuperación SIMPLE, no es lo mismo que SQL
Server registre 10 operaciones de eliminación de 10.000 registros que 1 sola
de 100.000

En cuanto al tamaño del registro de datos, no se reduce a menos que así se
lo indiques. Revisa en los BOL la instrucción DBCC SHRINKFILE para adecuar
el tamaño al que tú consideres correcto. Ahora, no te recomiendo que lo
reduzcas mucho si piensas que en breve va a aumentar de nuevo el tamaño, ya
que lo único que estarías consiguiendo es fragmentar el archivo.

Un saludo
-
www.navento.com
Servicios de Localización GPS

http://blogs.solidq.com/ES/ElRincon...fault.aspx

"davidr" escribió en el mensaje
news:
> Carlos, gracias por la ayuda.
>
> Probé metiéndole Simple como modelo de recuperación pero me volvió a
> fallar.
> Como tenía otra unidad de 40 gigas libres probé a meter el log allí y a
> priori acabo de borrar los registros. Ahora lo que no entiendo es porque
> el
> fichero de datos (mdf) de la base de datos, después de borrar registros no
> reduce su tamaño del mdf
> Si se te ocurriera por qué no cambia el tamaño te lo agradecería.
>
> Saludos.
>
> "Carlos Sacristan" wrote:
>
>> No puedes evitar que SQL Server use el registro de transacciones para lo
>> que
>> se diseñó, pero lo que sí que puedes hacer es evitar que crezca
>> desmesuradamente.
>>
>> Una posible solución es poner la base de datos en modo de recuperación
>> SIMPLE cuando ejecutes esas instrucciones y volverla a poner al modo
>> original cuando acabes. Sería recomendable que hicieras un backup antes y
>> después de realizar dicha operación
>>
>> Un saludo
>> -
>> www.navento.com
>> Servicios de Localización GPS
>>
>> http://blogs.solidq.com/ES/ElRincon...fault.aspx
>>
>> "davidr" escribió en el mensaje
>> news:
>> > Hola a todos,
>> > tengo un base de datos de 3 gigas de tamaño. Estoy haciendo limpieza de
>> > los
>> > registros que no necesito pero, mi problema viene que al ir eliminando
>> > registros de modo masivo hace que el el registro de transacciones
>> > crezca
>> > rapidamente y me quedo sin espacio en la carpeta donde tengo el log.
>> > ¿Cómo
>> > puedo decirle que no me genere registros de transacciones?, al menos
>> > temporalmente.
>> >
>> > Gracias de antemano.
>>
>>
>>



Respuesta Responder a este mensaje
#5 Carlos Sacristan
10/06/2009 - 16:49 | Informe spam
¿Compactar? No, no existe esa opción

Un saludo
-
www.navento.com
Servicios de Localización GPS

http://blogs.solidq.com/ES/ElRincon...fault.aspx

"davidr" escribió en el mensaje
news:
Perdona mi ignorancia pero, si libero el espacio con DBCC SHRINKFILE o
con
DBCC SHRINKDATABASE no existe modo alguno de compactar ese archivo mdf. Lo
pregunto porque tengo bastantes limitaciones de espacio.

"Carlos Sacristan" wrote:

Si realizas las mismas operaciones el problema lo seguirás teniendo, como
te
ha ocurrido. Lo suyo es ir eliminando esos registros por bloques; por
ejemplo, si tienes que borrar 100.000 registros, haz un bucle para borrar
de
10.000 en 10.000. En modo de recuperación SIMPLE, no es lo mismo que SQL
Server registre 10 operaciones de eliminación de 10.000 registros que 1
sola
de 100.000

En cuanto al tamaño del registro de datos, no se reduce a menos que así
se
lo indiques. Revisa en los BOL la instrucción DBCC SHRINKFILE para
adecuar
el tamaño al que tú consideres correcto. Ahora, no te recomiendo que lo
reduzcas mucho si piensas que en breve va a aumentar de nuevo el tamaño,
ya
que lo único que estarías consiguiendo es fragmentar el archivo.

Un saludo
-
www.navento.com
Servicios de Localización GPS

http://blogs.solidq.com/ES/ElRincon...fault.aspx

"davidr" escribió en el mensaje
news:
> Carlos, gracias por la ayuda.
>
> Probé metiéndole Simple como modelo de recuperación pero me volvió a
> fallar.
> Como tenía otra unidad de 40 gigas libres probé a meter el log allí y a
> priori acabo de borrar los registros. Ahora lo que no entiendo es
> porque
> el
> fichero de datos (mdf) de la base de datos, después de borrar registros
> no
> reduce su tamaño del mdf
> Si se te ocurriera por qué no cambia el tamaño te lo agradecería.
>
> Saludos.
>
> "Carlos Sacristan" wrote:
>
>> No puedes evitar que SQL Server use el registro de transacciones para
>> lo
>> que
>> se diseñó, pero lo que sí que puedes hacer es evitar que crezca
>> desmesuradamente.
>>
>> Una posible solución es poner la base de datos en modo de recuperación
>> SIMPLE cuando ejecutes esas instrucciones y volverla a poner al modo
>> original cuando acabes. Sería recomendable que hicieras un backup
>> antes y
>> después de realizar dicha operación
>>
>> Un saludo
>> -
>> www.navento.com
>> Servicios de Localización GPS
>>
>> http://blogs.solidq.com/ES/ElRincon...fault.aspx
>>
>> "davidr" escribió en el mensaje
>> news:
>> > Hola a todos,
>> > tengo un base de datos de 3 gigas de tamaño. Estoy haciendo limpieza
>> > de
>> > los
>> > registros que no necesito pero, mi problema viene que al ir
>> > eliminando
>> > registros de modo masivo hace que el el registro de transacciones
>> > crezca
>> > rapidamente y me quedo sin espacio en la carpeta donde tengo el log.
>> > ¿Cómo
>> > puedo decirle que no me genere registros de transacciones?, al menos
>> > temporalmente.
>> >
>> > Gracias de antemano.
>>
>>
>>



Respuesta Responder a este mensaje
Ads by Google
Help Hacer una preguntaSiguiente Respuesta Tengo una respuesta
Search Busqueda sugerida