症状
假设你在 MICROSOFT SQL Server 2016 AlwaysOn 可用性组(AG)中有只读的辅助副本。 第一次使用该副本中的 SQL Server 应用程序角色时,它将按预期工作。 但是,当你再次使用它们时,应用程序角色可能会失败,并且你将收到以下错误消息:
消息3961、级别16、状态1、行号快照隔离事务在数据库 ' <DatabaseName> ' 中失败,因为该语句访问的对象在该事务开始之后被另一并发事务中的 DDL 语句修改。不允许此操作,因为元数据不受版本控制。如果使用快照隔离混合,则对元数据的并行更新可能会导致不一致。
解决方案
在 SQL Server 的以下累积更新中修复了此问题:
SQL Server 的每个新的累积更新均包含以前的累积更新中包含的所有修补程序和所有安全修补程序。 查看 SQL Server 的最新累积更新:
状态
Microsoft 已确认这是在“适用范围”部分中列出的 Microsoft 产品存在的问题。
参考
了解terminology Microsoft 用于描述软件更新的术语。