KB4489202 - 修复:在 SQL Server 2016 和 2017 数据库中加载 .NET CLR 程序集时出现错误 10314

应用对象
SQL 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 on Windows

症状

假设应用程序使用Microsoft .NET 公共语言运行时 (CLR) 程序集,并且托管此程序集的 AppDomain 由于某种原因已卸载,或者您是自 2016 年或 2017 年启动SQL Server Microsoft以来首次使用该程序集。 当引用程序集的 SQL 语句中断 (请求取消 SQL 语句或客户端应用程序) 发生超时时,程序集加载可能会中断,并且该程序集的任何后续使用都将失败。 此外,可能会收到类似以下内容的错误消息:

日期时间 spid# 错误:10314,严重性:16,状态:11。
DateTime spid# 尝试加载程序集 ID # 时,Microsoft .NET Framework 中发生错误。 服务器可能资源不足,或者程序集不受信任,PERMISSION_SET = EXTERNAL_ACCESS 或 UNSAFE。

一旦此错误开始发生,任何新的加载程序集尝试都将导致相同的错误,因为第一个错误保存在 CLR 缓存中。 要获取有关详细信息,请参阅 <disableCachingBindingFailures> 元素。

状态

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

解决方法

此问题已在 SQL Server 的以下累积更新中修复:

关于 SQL Server 的累积更新:

SQL Server 的每个新累积更新都包含上一个累积更新中包含的所有修补程序和所有安全修补程序。 查看 SQL Server 的最新累积更新:

参考资料

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