Respaldo base y LOG de transacciones

05/10/2008 - 01:40 por Jose Luis Krautz | Informe spam
Srs:

Estoy diseñando una estrategia de respaldo. Tengo 2 consultas.

1. Diariamente hago un backup full de la base de datos con la sentencia:

CHECKPOINT

BACKUP DATABASE MIBASE TO DISK = N'D:\BASESQL\Backup\RespaldoDiario.bak'
WITH NOFORMAT, NOINIT, SKIP, NOREWIND, NOUNLOAD, STATS = 10

La base de datos pesa 30Gb. Después de esta sentencia:

puedo limpiar el log de transacciones tranquilamente?

Usaría la siguiente sentencia: DBCC SHRINKFILE (Base_log,500)

Es muy pequeña dejarla de este tamaño (500Mb) o puede ser más pequeña?

Cuál es el tamaño recomendable?

2. Como la información es sensible y trabajan más de 100 personas conectadas
deseo respaldar durante el día el log de transacciónes cada 30 minutos. Esta
es la sentencia que quiero ejecutar:

BACKUP LOG MIBASE TO DISK = N'D:\BASESQL\Backup\RespaldoLog.bak' WITH
NOFORMAT, NOINIT, NAME = N'Copia de Seguridad LOG Transacciones', SKIP,
NOREWIND, NOUNLOAD, STATS = 10
Está bien ejecutar sólo esta sentencia?


Estas sentencias las programaría en el Agente Sqlserver.



Desde ya les agradezco.



atte

José Luis Krautz

Preguntas similare

Leer las respuestas

#1 Martin de los Rios
06/10/2008 - 13:50 | Informe spam
Hola,
para saber que va a pasar con el transaction log debemos saber que modo de
recuperacion tenes definido en la base.
como decis que despues le vas a hacer backup de TL asumo que esta en modo
Full.

hciendo backups de TL cada 30 minutos no necesitaras hacer el shrinf de los
files ni db, ya que se truncara automaticamente.


Saludos,

Martin de los Rios
MCSE (Win 2000 - Win 2003)
MCSA (Win 2003)
MCDBA (SQL 2000)
MCTS (SQL 2005 - Windows Hosting)
MCITP (SQL 2005)
MCT (2006-2008)

Mendoza - Argentina


"Jose Luis Krautz" wrote:

Srs:

Estoy diseñando una estrategia de respaldo. Tengo 2 consultas.

1. Diariamente hago un backup full de la base de datos con la sentencia:

CHECKPOINT

BACKUP DATABASE MIBASE TO DISK = N'D:\BASESQL\Backup\RespaldoDiario.bak'
WITH NOFORMAT, NOINIT, SKIP, NOREWIND, NOUNLOAD, STATS = 10

La base de datos pesa 30Gb. Después de esta sentencia:

puedo limpiar el log de transacciones tranquilamente?

Usaría la siguiente sentencia: DBCC SHRINKFILE (Base_log,500)

Es muy pequeña dejarla de este tamaño (500Mb) o puede ser más pequeña?

Cuál es el tamaño recomendable?

2. Como la información es sensible y trabajan más de 100 personas conectadas
deseo respaldar durante el día el log de transacciónes cada 30 minutos. Esta
es la sentencia que quiero ejecutar:

BACKUP LOG MIBASE TO DISK = N'D:\BASESQL\Backup\RespaldoLog.bak' WITH
NOFORMAT, NOINIT, NAME = N'Copia de Seguridad LOG Transacciones', SKIP,
NOREWIND, NOUNLOAD, STATS = 10
Está bien ejecutar sólo esta sentencia?


Estas sentencias las programaría en el Agente Sqlserver.



Desde ya les agradezco.



atte

José Luis Krautz

Respuesta Responder a este mensaje
#2 Maxi
06/10/2008 - 17:51 | Informe spam
Hola Martin, ojo con esto! como has definido esos 30 min? no es tan asi la
cosa, quizas 30 min en un sistema que hace miles de transacciones por minuto
es una locura y el log se dispara. Aca no hay valores unicos, cada ambiente
hay que analizar bien como se comporta el log (transacciones, begin tran
largos, etc) y a partir de eso armar el backup del log.




Salu2

Microsoft MVP SQL Server
Culminis Speaker
www.sqltotalconsulting.com

"Martin de los Rios" <dlrmartin (@) hotmail.com> escribió en el mensaje
news:
Hola,
para saber que va a pasar con el transaction log debemos saber que modo de
recuperacion tenes definido en la base.
como decis que despues le vas a hacer backup de TL asumo que esta en modo
Full.

hciendo backups de TL cada 30 minutos no necesitaras hacer el shrinf de
los
files ni db, ya que se truncara automaticamente.


Saludos,

Martin de los Rios
MCSE (Win 2000 - Win 2003)
MCSA (Win 2003)
MCDBA (SQL 2000)
MCTS (SQL 2005 - Windows Hosting)
MCITP (SQL 2005)
MCT (2006-2008)

Mendoza - Argentina


"Jose Luis Krautz" wrote:

Srs:

Estoy diseñando una estrategia de respaldo. Tengo 2 consultas.

1. Diariamente hago un backup full de la base de datos con la sentencia:

CHECKPOINT

BACKUP DATABASE MIBASE TO DISK = N'D:\BASESQL\Backup\RespaldoDiario.bak'
WITH NOFORMAT, NOINIT, SKIP, NOREWIND, NOUNLOAD, STATS = 10

La base de datos pesa 30Gb. Después de esta sentencia:

puedo limpiar el log de transacciones tranquilamente?

Usaría la siguiente sentencia: DBCC SHRINKFILE (Base_log,500)

Es muy pequeña dejarla de este tamaño (500Mb) o puede ser más pequeña?

Cuál es el tamaño recomendable?

2. Como la información es sensible y trabajan más de 100 personas
conectadas
deseo respaldar durante el día el log de transacciónes cada 30 minutos.
Esta
es la sentencia que quiero ejecutar:

BACKUP LOG MIBASE TO DISK = N'D:\BASESQL\Backup\RespaldoLog.bak' WITH
NOFORMAT, NOINIT, NAME = N'Copia de Seguridad LOG Transacciones', SKIP,
NOREWIND, NOUNLOAD, STATS = 10
Está bien ejecutar sólo esta sentencia?


Estas sentencias las programaría en el Agente Sqlserver.



Desde ya les agradezco.



atte

José Luis Krautz

Respuesta Responder a este mensaje
#3 Carlos A.
11/10/2008 - 17:12 | Informe spam
Hola José:
Para el full backup esta bien la sentencia
Para los log de transacciones recomiendo que use un plan de mantenimiento,
de tal forma que le permita crear un archivo por cada backup que hace
Si bien es cierto que lo log se trunca con cada backup, no recupera el
espacio en disco asignado.
Para 30 Gb el tamaño del log recomendado es equivalente al 10 o 20 % de
data, es decir estamos hablando de 3 o 6 GB, Teniendo en cuenta que el numero
de transacciones Update, insert o delete sean muy altas este tamaño es mas
que suficiente
Un saludo,



"Jose Luis Krautz" wrote:

Srs:

Estoy diseñando una estrategia de respaldo. Tengo 2 consultas.

1. Diariamente hago un backup full de la base de datos con la sentencia:

CHECKPOINT

BACKUP DATABASE MIBASE TO DISK = N'D:\BASESQL\Backup\RespaldoDiario.bak'
WITH NOFORMAT, NOINIT, SKIP, NOREWIND, NOUNLOAD, STATS = 10

La base de datos pesa 30Gb. Después de esta sentencia:

puedo limpiar el log de transacciones tranquilamente?

Usaría la siguiente sentencia: DBCC SHRINKFILE (Base_log,500)

Es muy pequeña dejarla de este tamaño (500Mb) o puede ser más pequeña?

Cuál es el tamaño recomendable?

2. Como la información es sensible y trabajan más de 100 personas conectadas
deseo respaldar durante el día el log de transacciónes cada 30 minutos. Esta
es la sentencia que quiero ejecutar:

BACKUP LOG MIBASE TO DISK = N'D:\BASESQL\Backup\RespaldoLog.bak' WITH
NOFORMAT, NOINIT, NAME = N'Copia de Seguridad LOG Transacciones', SKIP,
NOREWIND, NOUNLOAD, STATS = 10
Está bien ejecutar sólo esta sentencia?


Estas sentencias las programaría en el Agente Sqlserver.



Desde ya les agradezco.



atte

José Luis Krautz

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