我试图在数据库更改后插入每小时日志文件:
“待机/只读”模式
常规(在线)模式
“只读”模式
“还原”模式
“待机/只读”模式。
由于磁盘大小,我试图将 bak、mdf 和 ldf 文件从一个驱动器移动到另一个驱动器。
我试图将模式更改为“待机/只读”模式,因为目前,我们的每小时日志文件只有在处于“待机/只读”模式时才能插入到数据库中。
此日志文件来自第三方供应商。
当我尝试插入下一个每小时的日志文件时,我收到以下错误消息:
Msg 4330, Level 16, State 1, Line 3
This backup set cannot be applied because it is on a recovery path that
is inconsistent with the database.
The recovery path is the sequence of data and log backups that have
brought the database to a particular recovery point.
Find a compatible backup to restore, or restore the rest of the database
to match a recovery point within this backup set, which will restore the
database to a different point in time.
For more information about recovery paths, see SQL Server Books Online.
Msg 3013, Level 16, State 1, Line 3
RESTORE LOG is terminating abnormally.
Msg 4305, Level 16, State 1, Line 3
The log in this backup set begins at LSN 385165000000462400001, which is
too recent to apply to the database. An earlier log backup that includes
LSN 385162000002744000001 can be restored.
当我查看备份文件详细信息时,最后一个 LSN 显示385162000002744000001(橙色框中),因此从逻辑上讲,它应该插入下一个每小时的日志文件。
我的问题是,如果我那样改变模式(比如改变了 4 次),它会中断 LSN 的过程吗?
“不一致”是什么意思?
当执行数据库还原的恢复部分时,SQL Server 处理挂起的事务:前滚在事务日志中提交但未写入数据文件的事务,并回滚未提交的事务。
当数据库在备用模式下恢复时,SQL Server 会保留这些操作的撤消文件,因此可以撤消这些操作以将数据库恢复到恢复模式,并使恢复更多日志备份成为可能。
但是,一旦数据库完全恢复(无备用模式),就没有这个文件了。该数据库现在基本上是 LSN 链的一个分支。不可能在恢复模式下恢复数据库并恢复额外的日志备份。
不幸的是,此时您必须返回到完整的数据库备份。