Applies ToSQL Server 2016 Developer - duplicate (do not use) SQL Server 2016 Enterprise - duplicate (do not use) SQL Server 2016 Enterprise Core - duplicate (do not use) SQL Server 2016 Standard - duplicate (do not use) SQL Server 2017 Developer on Windows SQL Server 2017 Enterprise on Windows SQL Server 2017 Enterprise Core on Windows SQL Server 2017 Standard on Windows SQL Server 2014 Service Pack 2 - duplicate (do not use) SQL Server 2014 Developer - duplicate (do not use) SQL Server 2014 Enterprise - duplicate (do not use) SQL Server 2014 Enterprise Core - duplicate (do not use) SQL Server 2014 Standard - duplicate (do not use)

症状

假设在运行Microsoft SQL Server的服务器上的请求订阅数据库上有数据库快照。 在服务器上应用修补程序时,脚本级升级会失败,你会收到类似于以下内容的错误消息:

日期时间 spid_number 执行复制作业安全元数据升级...日期时间spid_number 错误: 3906, 严重性: 16, 状态: 1.日期时间spid_number 无法更新数据库“database_name”,因为数据库是只读的。日期时间spid_number 错误: 912, 严重性: 21, 状态: 2.日期时间spid_number 数据库“master”的脚本级别升级失败,因为升级步骤“msdb110_upgrade.sql”遇到错误 3906,状态 1,严重性 16。 这是一个严重错误条件,可能会干扰常规操作,数据库将脱机。 如果在升级“master”数据库期间发生错误,则会阻止整个SQL Server实例启动。 检查前面的错误日志条目是否存在错误,采取适当的纠正措施并重新启动数据库,以便脚本升级步骤运行到完成。

解决方法

以下SQL Server更新中修复了此问题:

关于SQL Server生成

SQL Server的每个新版本都包含上一版本中的所有修补程序和安全修补程序。 建议为版本的SQL Server安装最新版本:

状态

Microsoft 已确认这是在“适用范围”部分中列出的 Microsoft 产品存在的问题。

参考

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

需要更多帮助?

需要更多选项?

了解订阅权益、浏览培训课程、了解如何保护设备等。

社区可帮助你提出和回答问题、提供反馈,并听取经验丰富专家的意见。