症状
在包含大量数据库的 Microsoft SQL Server 2014 或 2016 实例上安装修补程序时,安装程序可能会失败。 并且你可能会收到以下错误消息:
Microsoft.SqlServer.Configuration.SqlEngine.SqlEngineConfigException: Failed to shutdown the instance with process ID xxxx. Error encountered:
Microsoft.SqlServer.Configuration.Sco.ScoException: The service cannot accept control messages at this time.
此外,SQL Server 实例处于“已停止”状态。
原因
出现此问题的原因是在 SQL Server 修补程序安装期间,它将尝试重启 SQL Server 服务以应用修补程序。 但是,如果 SQL Server 需要很长时间才能自行终止,则安装程序将失败。
备注如果数据库 (较多,例如300~1000个或更多) ,并且SQL Server配置为使用大量内存 (,例如20 GB~2 TB) ,SQL Server可能需要一些时间来对每个数据库进行干净关闭,并且补丁安装可能会失败SQL Server因为需要很长时间才能自行关闭。
解决方法
此问题已在 SQL Server 的以下累积更新中修复:
SQL Server 2014 Service Pack 2 的累积更新 4
关于 SQL Server 的累积更新
SQL Server 的每个新累积更新都包含上一个累积更新中包含的所有修补程序和安全修补程序。 查看 SQL Server 的最新累积更新:
备注应用此修补程序后,修补程序安装程序将等待 SQL Server 停止长达 30 分钟。 如果 SQL Server 停止的时间超过 30 分钟,则修补程序安装仍可能失败。
状态
Microsoft 已确认在 "适用于" 部分中所列的 Microsoft 产品中存在问题。
引用
了解 Microsoft 用于描述软件更新的 术语 。