症状
当你运行以下命令以故障切换 SQL Server 2017 Read Scale AlwaysOn ALWAYSON (AG)时,你可能会注意到它失败并收到一个类似于以下内容的断言转储:
use [master]
go
alter availability group [ag-rds] set(
required_synchronized_secondaries_to_commit = 1
)
go
alter availability group [ag-rds] set (role = secondary)
断言转储
DateTime spid # # 错误:17066,严重性:16,状态:1。
DateTime spid # # SQL Server 断言:文件: <HadrAvailabilityGroupReplica>,line =LineNumber 失败断言 = "cbDataTotal <= cbRemainingBuffer"。 此错误可能与计时有关。 如果 重新运行该语句后,错误仍然存在,请使用 DBCC CHECKDB 检查 数据库以实现结构完整性,或重启服务器以确保在内存中 数据结构未损坏。
状态
Microsoft 已经确认这是一个列于“适用范围”部分的 Microsoft 产品问题。
解决方案
在 SQL Server 的以下累积更新中修复了此问题:
关于 SQL Server 的累积更新:
SQL Server 的每个新的累积更新均包含以前的累积更新中包含的所有修补程序和所有安全修补程序。 查看 SQL Server 的最新累积更新:
参考
了解 Microsoft 用于描述软件更新的术语。