症状
在内存不足的计算机上同时在 Microsoft SQL Server 2017 和 2019 中运行多个聚集列存储批量插入时,可能会收到内存授予的退出错误。
状态
Microsoft 已经确认这是一个列于“适用范围”部分的 Microsoft 产品问题。
更多信息
列存储批量插入查询可能需要大量内存来存储列存储插入运算符和查询中任何其他消耗内存的运算符,例如排序。
默认情况下,SQL Server等待 25 秒才能获得内存授予。 如果批量插入仍无法获取所需的内存,它将回退到"插入",以确保查询可以继续。 (有关流式插入详细信息,请参阅列存储索引 - 数据加载指南) 。
但是,只有当当前资源池中具有内存授予的活动会话数小于与逻辑核心数成正比的特定阈值时,才发生这种情况。 如果此类并发会话数过高,则批量插入查询可能会失败,在 25 秒后生成内存授予退出错误。 这可能会导致数据加载应用程序出现意外问题。 此更新将更改批量插入等待内存授予。 现在,插入将使用与任何其他查询类型类似的计算得出的时出值。
解决方法
此问题已针对以下更新的累积更新SQL Server:
每个新的累积更新SQL Server包含所有修补程序以及上一个累积更新中包含的所有安全修补程序。 查看最新累积更新,了解SQL Server:
参考
了解 Microsoft用于描述软件更新的术语。