Estamos usando SQL Server con modo de recuperación completa. Dada una copia de seguridad completa y una serie de copias de seguridad de registros, nos gustaría poder verificar si la cadena de registros está completa desde la última copia de seguridad completa hasta el registro de cola actual. (Sin realmente restaurar estas copias de seguridad; el propósito aquí es probar la consistencia de las copias de seguridad).
Ya sé cómo hacer esto para las copias de seguridad existentes: usando RESTORE HEADERONLY obtengo FirstLSN y LastLSN de cada archivo, que se pueden comparar para archivos consecutivos, para determinar si son compatibles.
Sin embargo, no sé cómo verificar si el registro de cola sigue a la última copia de seguridad del registro.
Si tuviera el FirstLSN del registro de cola, podría compararlo con el LastLSN de la última copia de seguridad del registro. Pero, ¿cómo puedo obtener el FirstLSN del registro de cola?
Necesito una solución que funcione desde SQL Server 2005 en adelante (idealmente usando t-sql). Hasta ahora, he buscado en Google en vano. Por cierto. Primero publiqué esto en stackoverflow; pero lo migró aquí porque se marcó fuera de tema allí.
EDITAR
Probé las dos soluciones proporcionadas en un pequeño ejemplo (SQL Server 2005, 9.0.5057):
BACKUP DATABASE TestDb TO DISK = 'C:\temp\backup test\Full.bak'
-- fire some update queries
BACKUP LOG TestDb TO DISK = 'C:\temp\backup test\Log1.bak'
-- fire both queries from the provided answers:
-- Martin Smith's answer yields: 838886656088920652852608
-- Shawn Melton's answer yields: 46000000267600001
RESTORE HEADERONLY FROM DISK = 'C:\temp\backup test\Log1.bak'
-- yields: 46000000267600001
Entonces parece que el primero está apagado por varios órdenes de magnitud.
Luego hice la misma prueba en SQL 2008 SP1 (10.00.2531), donde ambas consultas arrojaron la respuesta correcta.