Duda con DBCC SHRINKDATABASE

29/06/2007 - 20:12 por Jose Camacho Vaca | Informe spam
Una duda por favor. Al ejecutar las siguientes instrucciones:

CHECKPOINT
CHECKPOINT
CHECKPOINT
BACKUP LOG MiBaseDeDatos WITH TRUNCATE_ONLY
DBCC SHRINKDATABASE ('MiBaseDeDatos', 10)

El log de transacciones se reduce, a una cantidad muy pequeña, pero que pasa
con el modo de autorecuperación del SQL. Por ejemplo si se apague el server
(por cualquier motivo, que por cierto ya nos ha pasado) y a la hora de
reiniciarlo me dejaría bien los datos? Si uso el modo de recuperación simple
que pasaría?
Si uso el modo de recuperación completa que pasaría?
Gracias por su ayuda y les mando un saludo.
José Camacho Vaca
Colima, MX

Preguntas similare

Leer las respuestas

#1 Alejandro Mesa
29/06/2007 - 21:06 | Informe spam
Jose Camacho Vaca,

Si lo que te interesa es poder recuperar tu db cuando ocurra un problema,
entonces debes usar el modo de recuperacion FULL y hacer backups del log de
transacciones con una frecuencia optima de acuerdas a tus necesidades.

La sentencia backup que posteastes no esta haciendo backup alguno, sino que
esta truncando (marcando la parte del log que ya esta salvada en disco) para
que este espacio sea reusado. Pero si por casualidad pasa algo, no podras
recuperar tu db por que no tienes backup.


AMB


"Jose Camacho Vaca" wrote:

Una duda por favor. Al ejecutar las siguientes instrucciones:

CHECKPOINT
CHECKPOINT
CHECKPOINT
BACKUP LOG MiBaseDeDatos WITH TRUNCATE_ONLY
DBCC SHRINKDATABASE ('MiBaseDeDatos', 10)

El log de transacciones se reduce, a una cantidad muy pequeña, pero que pasa
con el modo de autorecuperación del SQL. Por ejemplo si se apague el server
(por cualquier motivo, que por cierto ya nos ha pasado) y a la hora de
reiniciarlo me dejaría bien los datos? Si uso el modo de recuperación simple
que pasaría?
Si uso el modo de recuperación completa que pasaría?
Gracias por su ayuda y les mando un saludo.
José Camacho Vaca
Colima, MX
Respuesta Responder a este mensaje
#2 Jose Camacho Vaca
30/06/2007 - 16:18 | Informe spam
Gracias por tu ayuda Alejandro. Una duda adicional. Realmente lo que
necesito es recuperación full y de manera automática como lo hace el SQL
cuando ocurre algo grave (que el server se apague accidentalmente por
ejemplo). Segun lo que entiendo si yo trato de hacer mas chico el log (con
cualquier instruccion) la base de datos ya no va a tener la posibilidad de
una recuperación automática, a menos de que se tenga un respaldo completo a
la mano. Suponiendo que se tenga un respaldo, la recuperación seguiria
siendo automatica? Porque si no es asi mejor no toco el log de transacciones
y mejor incremento la capacidad de disco, para mayor seguridad.

Gracias por tu ayuda.
José Camacho Vaca
Colima, MX


"Alejandro Mesa" wrote:

Jose Camacho Vaca,

Si lo que te interesa es poder recuperar tu db cuando ocurra un problema,
entonces debes usar el modo de recuperacion FULL y hacer backups del log de
transacciones con una frecuencia optima de acuerdas a tus necesidades.

La sentencia backup que posteastes no esta haciendo backup alguno, sino que
esta truncando (marcando la parte del log que ya esta salvada en disco) para
que este espacio sea reusado. Pero si por casualidad pasa algo, no podras
recuperar tu db por que no tienes backup.


AMB


"Jose Camacho Vaca" wrote:

> Una duda por favor. Al ejecutar las siguientes instrucciones:
>
> CHECKPOINT
> CHECKPOINT
> CHECKPOINT
> BACKUP LOG MiBaseDeDatos WITH TRUNCATE_ONLY
> DBCC SHRINKDATABASE ('MiBaseDeDatos', 10)
>
> El log de transacciones se reduce, a una cantidad muy pequeña, pero que pasa
> con el modo de autorecuperación del SQL. Por ejemplo si se apague el server
> (por cualquier motivo, que por cierto ya nos ha pasado) y a la hora de
> reiniciarlo me dejaría bien los datos? Si uso el modo de recuperación simple
> que pasaría?
> Si uso el modo de recuperación completa que pasaría?
> Gracias por su ayuda y les mando un saludo.
> José Camacho Vaca
> Colima, MX
Respuesta Responder a este mensaje
#3 Alejandro Mesa
01/07/2007 - 20:32 | Informe spam
Hola Jose,

Recuerda que la estrategia final debera estar en acuerdo a las necesidades
de tu empresa / sistema. Cuando se usa el modelo de recuperacion FULL, se
esta garantizando de una forma u otra (nada esta a prueba 100%) que se pueda
restaurar tu db hasta el punto donde ocurrio el problema o hacia un punto en
el pasado. Como se logra esto, pues teniendo una secuencia completa de
respaldos. Esta secuencia comienza, casi siempre, con un respaldo completo de
la db y con respaldos continuos del log de transacciones. Mientras mas
frecuente se haga el respaldo del log, entonces el espacio ocupado por las
transacciones salvadas se marcara para ser reusado y el log no tendra que
crecer sino que puede dar la vuelta y comenzar desde el principio. Tambien se
puede combinar con respaldos incrementales, osea que se respalda solo lo que
cambio desde el ultimo respaldo full o incremental, de esa forma no se tienen
que restaurar tantos respaldos del log.

Te recomiendo que si quieres aprender bien todo lo relacionado a respaldos y
restaurar, leas el capitulo sobre este tema en los BOL. Creo que no existe
mejor documentacion sobre ese tema.


Saludos,
Alejandro Mesa

"Jose Camacho Vaca" wrote:

Gracias por tu ayuda Alejandro. Una duda adicional. Realmente lo que
necesito es recuperación full y de manera automática como lo hace el SQL
cuando ocurre algo grave (que el server se apague accidentalmente por
ejemplo). Segun lo que entiendo si yo trato de hacer mas chico el log (con
cualquier instruccion) la base de datos ya no va a tener la posibilidad de
una recuperación automática, a menos de que se tenga un respaldo completo a
la mano. Suponiendo que se tenga un respaldo, la recuperación seguiria
siendo automatica? Porque si no es asi mejor no toco el log de transacciones
y mejor incremento la capacidad de disco, para mayor seguridad.

Gracias por tu ayuda.
José Camacho Vaca
Colima, MX


"Alejandro Mesa" wrote:

> Jose Camacho Vaca,
>
> Si lo que te interesa es poder recuperar tu db cuando ocurra un problema,
> entonces debes usar el modo de recuperacion FULL y hacer backups del log de
> transacciones con una frecuencia optima de acuerdas a tus necesidades.
>
> La sentencia backup que posteastes no esta haciendo backup alguno, sino que
> esta truncando (marcando la parte del log que ya esta salvada en disco) para
> que este espacio sea reusado. Pero si por casualidad pasa algo, no podras
> recuperar tu db por que no tienes backup.
>
>
> AMB
>
>
> "Jose Camacho Vaca" wrote:
>
> > Una duda por favor. Al ejecutar las siguientes instrucciones:
> >
> > CHECKPOINT
> > CHECKPOINT
> > CHECKPOINT
> > BACKUP LOG MiBaseDeDatos WITH TRUNCATE_ONLY
> > DBCC SHRINKDATABASE ('MiBaseDeDatos', 10)
> >
> > El log de transacciones se reduce, a una cantidad muy pequeña, pero que pasa
> > con el modo de autorecuperación del SQL. Por ejemplo si se apague el server
> > (por cualquier motivo, que por cierto ya nos ha pasado) y a la hora de
> > reiniciarlo me dejaría bien los datos? Si uso el modo de recuperación simple
> > que pasaría?
> > Si uso el modo de recuperación completa que pasaría?
> > Gracias por su ayuda y les mando un saludo.
> > José Camacho Vaca
> > Colima, MX
email Siga el debate Respuesta Responder a este mensaje
Ads by Google
Help Hacer una preguntaRespuesta Tengo una respuesta
Search Busqueda sugerida