我有一堆文件:两个备份和一个事务日志列表。
备份称为:
- FB20241125_233033.bak
- FB20241126_233040.bak
(文件名与备份的日期/时间相对应。)
事务日志被称为(命令行摘录):
Prompt>dir *.trn
Directory of C:\...\Transaction_Logs
25/11/2024 23:45 5.758.464 20241125224500.trn
26/11/2024 00:00 5.560.832 20241125230001.trn
26/11/2024 00:15 5.692.928 20241125231501.trn
...
26/11/2024 15:00 5.822.976 20241126140001.trn
26/11/2024 15:15 5.955.072 20241126141501.trn
26/11/2024 15:30 5.889.536 20241126143000.trn
27/11/2024 12:15 5.626.368 20241127111501.trn
(文件名的原因相同。)
然后我使用以下属性恢复该目录(获取两个备份文件和所有事务日志文件):
这是我收到的错误消息:
System.Data.SqlClient.SqlError: 此备份集中的日志开始于 LSN 33845000000619000001,该日志太新,无法应用于数据库。可以恢复包含 LSN 33816000000750400001 的早期日志备份。(Microsoft.SqlServer.SmoExtended)
我自己想“但这很明显:我最近的备份是在 2024 年 11 月 26 日 23 时 30 分 40 秒进行的,而最新的事务日志的日期是后一天,所以我们不要在恢复中包含该事务日志。 ”,但这没有帮助。
有人知道我该怎么做才能恢复包含最新事务日志的最新备份?
编辑1:“*.trn”文件中的LSN怎么样?
同时,我对提到的*.trn
文件运行了以下SQL查询:
RESTORE HEADERONLY FROM DISK = 'C:\...\20241125224500.trn';
RESTORE HEADERONLY FROM DISK = 'C:\...\20241125230001.trn';
...
以下是第一批结果:
FirstLSN LastLSN
---------------------- --------------------
33758000001254200001 33759000000515900001
33759000000515900001 33759000001579300001
33759000001579300001 33760000000835100001
33760000000835100001 33761000000090800001
33761000000090800001 33761000001176400001
33761000001176400001 33762000000412500001
33762000000412500001 33762000001492100001
33762000001492100001 33763000000648100001
33763000000648100001 33763000001722200001
如您所见,有相当多的*.trn
文件,其第一个日志序列号(LSN)为3375...
和3376...
,那么为什么错误消息说此备份集中的日志开始于LSN 3384...
?
提前致谢