Pregunta

El problema es este:

t0: Insert is made into my database
t1: Delete is executed
t2: Full backup is made
t3: Transaction log backup is made

¿Cómo puedo recuperar el registro eliminado después de t3 (que es ahora)? Quiero la base de datos en un estado entre t0 y t1. El nivel de registro estaba lleno.

Editar: ya he ejecutado DBCC LOG (DB-Name, 3), pero el registro parece estar truncado. Solo hay 10 artículos, aunque debe haber miles.

¿Fue útil?

Solución

Para reproducir el registro siempre comienza desde un registro completo, aplique los diferenciales y luego las copias de seguridad del registro. La línea de tiempo siempre es hacia adelante desde la copia de seguridad completa, nunca hacia atrás. Entonces, para llegar al estado después de t0 (es decir, recuperar el registro eliminado), comience con una copia de seguridad completa que se tomó antes t0 y luego aplique las copias de seguridad del registro con detención en t0.

Otros consejos

Aunque no es una solución ideal, puede intentar restaurar la copia de seguridad de la base de datos en una base de datos separada, comparar bases de datos y realizar los cambios necesarios manualmente.

Otra forma es utilizar un lector de registro de transacciones de terceros, como ApexSQL Log .

Lanza,

El registro de transacciones no está diseñado para ver transacciones. No es realmente ese tipo de registro. Además, cuando realizó la copia de seguridad del registro de transacciones, eso habría truncado el archivo de registro, ya que la información se hizo una copia de seguridad en un archivo.

También vale la pena mencionar que cuando coloca una base de datos en el modelo de recuperación completa, en realidad permanece en modo simple hasta que realiza una copia de seguridad completa de la base de datos. Por lo tanto, si no se realizó una copia de seguridad antes de t0, no puede volver a ese estado.

Rob

Licenciado bajo: CC-BY-SA con atribución
No afiliado a StackOverflow
scroll top