症状
假设你的应用程序使用 Microsoft .NET 公共语言运行时(CLR)程序集,并且托管此程序集的 AppDomain 已出于某种原因而卸载,或者由于 Microsoft SQL Server 2016 或2017启动第一次使用该程序集。 当引用程序集的 SQL 语句中断时(请求 SQL 语句取消或在客户端应用程序中出现超时)时,程序集加载可能会中断,并且对该程序集的任何后续使用都将失败。 此外,你可能会收到类似于以下内容的错误消息:
DateTime Spid # 错误:10314,严重性:16,状态:11。DateTime spid # 尝试加载程序集 id # 时,Microsoft .net Framework 出错。 服务器可能资源不足,或者该程序集可能不受 PERMISSION_SET = EXTERNAL_ACCESS 或不安全的信任。
一旦此错误开始发生,加载程序集的任何新尝试都将导致相同错误,因为第一个错误保留在 CLR 缓存中。 若要获取有关此操作的详细信息,可以查看<disableCachingBindingFailures> 元素。
状态
Microsoft 已经确认这是一个列于“适用范围”部分的 Microsoft 产品问题。
解决方案
在 SQL Server 的以下累积更新中修复了此问题:
关于 SQL Server 的累积更新:
SQL Server 的每个新的累积更新均包含以前的累积更新中包含的所有修补程序和所有安全修补程序。 查看 SQL Server 的最新累积更新:
参考
了解 terminology Microsoft 用于描述软件更新的术语。