Recuperar a un número de secuencia de registro (SQL Server)
Se aplica a: SQL Server
Este tema solamente es aplicable a las bases de datos de que usan 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. 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 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.
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 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:<númeroDeIsn>', donde lsn:<númeroDeIsn> 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.
Use la cláusula WITH STOPBEFOREMARK ='lsn:<númeroDeIsn>', donde lsn:<númeroDeIsn> 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
Related Tasks
Realizar copia de seguridad de un registro de transacciones (SQL Server)
Restaurar una copia de seguridad de registros de transacciones (SQL Server)
Restaurar una base de datos en una transacción marcada (SQL Server Management Studio)
Restaurar una base de datos de SQL Server a un momento dado (modelo de recuperación completa)
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