我正在使用 SQL Server 2016,并处理大量由一个父 sproc 调用的 sproc。所有的存储过程除了读取返回一个结果集外什么都不做。我已经确认所有必要的对象都在缓存中,并且没有发生物理读取。所有读取都是在没有表扫描的索引上完成的。这个过程曾经到处都有临时表。为了帮助加快此过程,我已将所有临时表替换为仅具有模式持久性的内存优化表。之后,在负载下,我看到这个被 web api 记录了很多。
Transaction exceeded the maximum number of commit dependencies and the last statement was aborted. Retry the statement. The statement has been terminated.
没有一个存储过程使用事务。我已经对它进行了一些谷歌搜索,但我仍在努力处理该消息。