SQLServer 错误 3159 数据库 “%ls” 的日志尾部尚未备份。 如果该日志包含您不希望丢失的工作,则使用 BACKUP LOG WITH NORECOVERY 对其进行备份。 使用 RESTORE 语句的 WITH REPLACE 或 WITH STOPAT 子句覆盖该日志的内容。 故障 处理 修复 支持远程
详细信息
Attribute | 值 |
---|---|
产品名称 | SQL Server |
事件 ID | 3159 |
事件源 | MSSQLSERVER |
组件 | SQLEngine |
符号名称 | LDDB_LOGNOTBACKEDUP |
消息正文 | 数据库 “%ls” 的日志尾部尚未备份。 如果该日志包含您不希望丢失的工作,则使用 BACKUP LOG WITH NORECOVERY 对其进行备份。 使用 RESTORE 语句的 WITH REPLACE 或 WITH STOPAT 子句覆盖该日志的内容。 |
说明
在大多数情况下,在完整恢复模式或大容量日志恢复模式下,SQL Server 要求您备份日志尾部以捕获尚未备份的日志记录。 还原操作之前对日志尾部执行的日志备份称为“结尾日志备份”。
将数据库恢复到故障点时,结尾日志备份是恢复计划中的最后一个相关备份。 如果无法备份日志尾部,则只能将数据库恢复为发生故障前创建的最后一个备份。
SQL Server 通常要求您在开始还原数据库前执行结尾日志备份。 结尾日志备份可以防止工作丢失并确保日志链的完整性。 但是,并非所有还原方案都要求执行结尾日志备份。 如果先前的日志备份中包含恢复点,或者您准备移动或替换(覆盖)数据库,并且在最新备份后不需要将该数据库恢复到某一时间点,则不一定需要结尾日志备份。 并且,如果日志文件受损且无法创建结尾日志备份,则必须在不使用结尾日志备份的情况下还原数据库。 最新日志备份后提交的任何事务都将丢失。 有关详细信息,请参阅本主题下文中的“不使用结尾日志备份执行还原操作”。
注意
应尽可能避免使用 REPLACE,在使用该选项之前必须慎重考虑。
用户操作
执行结尾日志备份,然后重试还原操作。
如果不能备份日志尾部,则使用 RESTORE 语句中的 WITH STOPAT 或 WITH REPLACE 子句。