Recuperar a un número de secuencia de registro (SQL Server)

Se aplica a:SQL Server

Este tema solo se aplica a las bases de datos que usan los modelos de recuperación completa o de registro masivo.

Puede usar un número de secuencia de registro (LSN) para definir el punto de recuperación de una operación de restauración. Sin embargo, esta es una característica especializada dirigida a los proveedores de herramientas y no es probable que tenga una utilidad general.

Información general de los números de secuencia de registro

Los LSN se usan internamente durante una RESTORE secuencia para realizar un seguimiento del momento en el que se han restaurado los datos. Al restaurar una copia de seguridad, los datos se restauran al LSN correspondiente al momento dado en que se efectuó la copia de seguridad. Las copias de seguridad diferenciales y del registro posponen la base de datos restaurada a un momento posterior, correspondiente a un LSN superior. Para obtener más información sobre LSN, vea Guía de arquitectura y administración de registros de transacciones de SQL Server.

Nota:

Los LSN son valores del tipo de datos numeric(25,0). Las operaciones aritméticas (por ejemplo, la suma o la resta) carecen de importancia y no deben utilizarse con los LSN.

Visualización de LSN utilizados por las copias de seguridad y restauración

El LSN de una entrada de registro en la que se produce un determinado evento de copias de seguridad y restauración puede visualizarse mediante uno o más de los siguientes métodos:

Nota:

Los LSN también aparecen en algunos mensajes en el registro de errores.

Sintaxis de Transact-SQL para restaurar hasta un LSN

Con una instrucción RESTORE, puede detenerse en el LSN o inmediatamente antes, como se indica a continuación:

  • Utilice la cláusula WITH STOPATMARK ='lsn:<lsn_number>', donde lsn:<lsnNumber> es una cadena que especifica que el registro del log que contiene el LSN especificado es el punto de recuperación.

    STOPATMARK realiza una puesta al día hasta el LSN e incluye esa entrada de registro en la puesta al día.

  • Utilice la cláusula WITH STOPBEFOREMARK ='lsn:<lsn_number>', donde lsn:<lsnNumber> es una cadena que especifica que el registro del log inmediatamente anterior al registro del log que contiene el número de LSN especificado es el punto de recuperación.

    STOPBEFOREMARK realiza una puesta al día al LSN y excluye esa entrada de registro de la puesta al día.

Normalmente, se selecciona una transacción específica para incluirla o excluirla. Aunque no es necesario, en la práctica, la entrada de registro especificada es una entrada de confirmación de transacción.

Ejemplos

En el ejemplo siguiente se da por supuesto que se ha modificado la base de datos AdventureWorks para usar el modelo de recuperación completa.

RESTORE LOG AdventureWorks FROM DISK = 'c:\adventureworks_log.bak'   
WITH STOPATMARK = 'lsn:15000000040000037'  
GO  

Tareas relacionadas

Consulte también

Aplicar copias de seguridad de registros de transacción (SQL Server)
El registro de transacciones (SQL Server)
RESTORE (Transact-SQL)
Información general sobre restauración y recuperación (SQL Server)
Guía de arquitectura y administración de registros de transacciones de SQL Server