SQL由于截断事务日志,导致还原数据库日志失败-八零岁月
记录所见
分享所感

SQL由于截断事务日志,导致还原数据库日志失败

症状

请考虑以下情况:

  • 您使用的是 Microsoft SQL Server 2016、2014或2012。
  • 你有一个数据库,它是 AlwaysOn 可用性组的一部分。
  • 在主副本上,收缩数据库文件以减小其大小。
  • 主副本将事务日志中记录的所有更改发送到辅助副本。
  • 在辅助副本上,”恢复” 线程将事务日志中的更改应用到属于可用性组的数据库。

原因

如果数据库引擎在系统页面(GAM、PFS)上遇到顺序 LSNs,则在恢复过程中应用更改时会出现此问题。

解决方案:

在以下 SQL Server 累积更新中首先修复此问题:

建议:安装 SQL Server 的最新累积更新

此更新可防止出现此问题。 如果问题已出现,请按照以下步骤重新加入 AlwaysOn 可用性组:

  1. 删除现有的 AlwaysOn 辅助副本。
  2. 对受影响的数据文件运行以下命令以从数据库中删除未分配的空间:DBCC SHRINKFILE(<file_id>, TRUNCATEONLY)
  3. 备份数据库和日志文件。
  4. 还原 AlwaysOn 辅助副本上的数据库和日志。
  5. 加入 “AlwaysOn 可用性” 组。

文章转载请说明出处:八零岁月 » SQL由于截断事务日志,导致还原数据库日志失败

分享到:更多 ()

吐槽集中营 抢沙发

评论前必须登录!