症状
请考虑以下情况:
-
已安装 SQL Server 2016 和2017。
-
使用rpc_starting、 rpc_completed、 Rpc:启动、 rpc:已完成或审核架构对象 Access sql server 扩展事件或 sql server Profiler来跟踪rpc事件。
-
使用包含多行的表值参数(TVP)的远程过程调用。
在此方案中,可能会出现过多的内存使用量,并且服务器性能可能会降低。如果你问uery DMV sys.dm_os_memory_clerks的,你会注意到当没有正在进行的 RPC 跟踪集合时,OBJECTSTORE_LBSS 职员有多个内存分配。
解决方案
在 SQL Server 的以下更新中修复了此问题:
注意
-
应用此更新后,修复会限制每个事件中 TVP 的跟踪行数。T表示某些跟踪事件可能不包含 TVP 中的所有行。
-
对于在捕获 TVP 时导致 SQL Server 内存不足的其他修补程序,请参阅KB 4051359。
关于 SQL Server 内部版本
SQL Server 的每个新版本都包含上一版本中的所有修补程序和安全修补程序。 我们建议你为你的 SQL Server 版本安装最新版本:
状态
Microsoft 已确认这是在“适用范围”部分中列出的 Microsoft 产品存在的问题。
参考
了解 Microsoft 用于描述软件更新的标准 术语 。