Compartir a través de


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

Este tema solamente es aplicable a las bases de datos que utilizan el modelo de recuperación optimizado para cargas masivas de registros o el modelo de recuperación completa.

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 utilizan internamente durante una secuencia RESTORE para realizar el seguimiento del momento dado al que se restauran 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.

Cada entrada del registro de transacción se identifica de forma exclusiva mediante un número de secuencia de registro (LSN). Los números LSN se ordenan de manera que si LSN2 es mayor que LSN1, el cambio descrito por la entrada de registro a la que hace referencia LSN2 se produce después del cambio descrito por la entrada de registro LSN.

El LSN de una entrada de registro en la que se haya producido un evento importante puede resultar útil para generar secuencias de restauración válidas. Dado que los LSN se ordenan, pueden compararse para comprobar su igualdad y desigualdad (es decir, <, >, =, <=, >=). Estas comparaciones son útiles para generar secuencias de restauración.

[!NOTA]

Los números LSN son valores con tipos 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.

[Arriba]

Ver 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 textos de mensaje.

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:

  • Use 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.

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

Vea también

Referencia

RESTORE (Transact-SQL)

Conceptos

Aplicar copias de seguridad de registros de transacción (SQL Server)

El registro de transacciones (SQL Server)