Acabo de leer mucha documentación de MSDN y creo que entiendo los diferentes modelos de recuperación y el concepto de una cadena de respaldo. Todavía tengo una pregunta:
¿Una copia de seguridad completa de la base de datos trunca el registro de transacciones (usando el modo de recuperación completa)?
En caso afirmativo: ¿Dónde se menciona esto en el MSDN? Todo lo que pude encontrar fue que solo BACKUP LOG trunca el registro.
Si no: ¿por qué? Dado que una copia de seguridad completa de la base de datos inicia una nueva cadena de copia de seguridad, ¿cuál es el punto de mantener las transacciones que fueron finalizadas antes de que la copia de seguridad completa esté activa en el registro?
fuente
Una copia de seguridad completa NO trunca el registro, debe realizar una operación de registro de copia de seguridad. Una copia de seguridad completa NO restablece la cadena de registro; eso arruinaría totalmente la replicación / envío de registros, etc.
Tendría que observar de cerca cómo SQL Server realiza copias de seguridad, pero sepa que las transacciones en curso / de ejecución prolongada no están incluidas en la copia de seguridad (de lo contrario, la copia de seguridad nunca se completará), por lo que no es del todo exacto decir que una copia de seguridad completa de un La base de datos en línea garantiza que la próxima copia de seguridad del registro sea obsoleta.
http://msdn.microsoft.com/en-us/library/ms175477.aspx
fuente
Según tengo entendido, lo único que trunca el registro de transacciones es una copia de seguridad del registro .
Una copia de seguridad completa solo copia lo suficiente del registro para que sea transaccionalmente consistente, ya que la operación de copia de seguridad tarda un tiempo en completarse y, en ese momento, las páginas copiadas pueden haber cambiado.
Todavía necesita sus copias de seguridad de registros para la recuperación en un momento determinado.
No tengo MSDN para vincular, pero puedo vincularlo al blog de Paul Randal , que fue desarrollador del equipo de SQL Server, escribió DBCC CHECKDB y partes de Books Online.
También responde preguntas en este foro, por lo que sería una autoridad aún mejor que la información de segunda / tercera mano de mí :)
fuente
La gente a menudo tiene una idea errónea sobre la copia de seguridad completa y las copias de seguridad de registro. Para que la copia de seguridad funcione en
FULL
el modelo de recuperación de la copia de seguridad, se deben usar los registros t, ya que durante las copias de seguridad todavía puede haber transacciones en la base de datos (a menos que realice una llamadaCOLD
copia de seguridad cuando cierre la base de datos). Oracle usa el mismo concepto cuando tiene una base de datos enARCHIVELOG
modo. La secuencia de una copia de seguridad se reduce a esto:Esa es la razón por la cual los registros t-t no se truncan / encogen por defecto, ya que son una parte vital de la continuación de la transacción durante la fase de respaldo.
fuente
No confunda truncar el registro con reducir el registro.
TRUNCATE es eliminar las transacciones en el registro que están antes del último punto de control (el punto de control es cuando las transacciones se vuelcan a la base de datos). Esto se hace usando el comando BACKUP.
SHRINK el registro es reducir el tamaño real del archivo de registro. Esto se hace usando los comandos DBCC.
fuente
Básicamente, no necesita reducir automáticamente el registro de transacciones automáticamente porque los registros de transacciones necesitan espacio para funcionar y si se trunca automáticamente, se mantendrá casi del mismo tamaño.
fuente