【问题标题】:Restoring SQL Server DB trans log files error恢复 SQL Server DB 传输日志文件错误
【发布时间】:2022-01-13 14:50:11
【问题描述】:

我在恢复数据库传输日志文件时遇到错误。 跑步

RESTORE VERIFYONLY FROM DISK = xxxxxx

正在返回消息

文件 1 上的备份集有效

但是在运行时

RESTORE LOG [db_name] FROM DISK = xxxxxx

我得到错误

传递给数据库“[db_name]”中的日志扫描的日志扫描编号 (yyyyyyyyyyyy) 无效。此错误可能表示数据损坏或日志文件 (.ldf) 与数据文件 (.mdf) 不匹配。如果在复制期间发生此错误,请重新创建发布。
否则,如果问题导致启动失败,请从备份中恢复。
RESTORE LOG 异常终止。

我正在应用日志备份文件的数据库上有一个复制设置。是不是trans log备份损坏或者replication有问题。

为什么Verifyonly 检查返回文件有效?

【问题讨论】:

  • 只是好奇和部分猜测,是主数据库吗?
  • 不,它不是主数据库
  • 您可以选择通过 GUI 进行操作吗?当我恢复 translogs 时(通常是因为需要及时返回,在发生错误之前),我更喜欢使用 SMSS GUI。
  • 我在尝试在 SSMS 中应用日志时遇到同样的错误。

标签: sql-server corruption restore transaction-log


【解决方案1】:

第一个问题

错误消息提示 2 导致数据库损坏,您是否运行过 dbcc checkdb ?或者日志文件与数据文件不匹配(从错误的数据库备份事务日志?)。

据我所知,此错误发生在事务日志还原期间而不是复制期间,因此您可以忽略该部分错误消息。

第二个问题

verifyonly 正在检查备份文件是否可读和完整 - 它没有检查文档中明确说明的整个逻辑。

https://docs.microsoft.com/en-us/sql/t-sql/statements/restore-statements-verifyonly-transact-sql?view=sql-server-ver15

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2011-02-02
    • 2013-11-23
    • 1970-01-01
    • 2013-03-31
    • 1970-01-01
    相关资源
    最近更新 更多