Recuperar a un número de secuencia de registro (LSN)

Este tema sólo es pertinente para las bases de datos que usan los modelos de recuperación completa u optimizado para cargas masivas de registros.

SQL Server 2005 y versiones posteriores permiten utilizar un número de secuencia de registro (LSN) para definir el punto de recuperación para una operación de restauración. Ésta es una característica especializada dirigida a los proveedores de herramientas y no es probable que tenga una utilidad general.

[!NOTA]

Para obtener información sobre los requisitos para restaurar a un punto de recuperación concreto, vea Restaurar bases de datos a un punto de una copia de seguridad.

Sintaxis de Transact-SQL para restaurar hasta un LSN

Con la 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 la entrada de registro 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 la entrada de registro inmediatamente anterior a la entrada que contiene el número 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.

Para obtener más información sobre cómo utilizar los LSN, vea Números de secuencia de registro y planeamiento de la restauración.

Para obtener más información acerca de la restauración a un momento dado, vea Restaurar bases de datos a un punto de una copia de seguridad.

Ejemplos

En el siguiente ejemplo se supone que se ha modificado la base de datos AdventureWorks para utilizar el modelo de recuperación completa.

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