KB4040530 - 修复:SQL Server 2016 或 2017 中“managed_backup.fn_available_backups”表中的日志链中断

应用对象
SQL Server 2016 Enterprise Core - duplicate (do not use) SQL Server 2016 Enterprise - duplicate (do not use) SQL Server 2016 Developer - duplicate (do not use) SQL Server 2016 Standard - duplicate (do not use) SQL Server 2017 on Windows (all editions)

症状

请考虑以下情形:

  • 你在 Microsoft SQL Server 2016 或 2017 的实例中使用 AlwaysOn 可用性组。
  • 您可以在添加到可用组的一个或多个用户数据库上设置 SQL Server 托管备份。
  • 在数据库上运行按需日志备份。
  • 从可用组中删除数据库,然后再添加回来。 或者,对数据库进行故障转移。
  • 在数据库上运行按需日志备份。

在此方案中,通过查询 msdb 数据库上的 managed_backup.fn_available_backups 表,发现日志链中断。

原因

出现此问题的原因是,从可用组中删除数据库然后将其添加回来或对数据库进行故障转移时,会在smart_backup_files表的database_guid列中创建新的数据库 GUID。 这会导致分区以不按顺序列出数据,并触发中断日志链。

解决方法

此修补程序包含在 SQL Server 的以下累积更新中:

SQL Server 2017 累积更新 1

SQL Server 2016 Service Pack 1 累积更新 5

关于 SQL Server 内部版本

SQL Server 的每个新内部版本都包含先前内部版本中包含的所有修补程序和所有安全修补程序。 我们建议您安装最新的 SQL Server 累积更新:

SQL Server 2017 的最新累计更新

SQL Server 2016 的最新版本

状态

Microsoft 已确认在 "适用于" 部分中所列的 Microsoft 产品中存在问题。

参考资料

了解 Microsoft 用于描述软件更新的术语。