我已经讨论了各种确定恢复状态的方法,但是本周我参与了一个围绕回滚的有趣讨论.交易已经运行了14个小时,然后发出了KILL SPID.SPID进入回滚,并发生2天和4小时. 自然的问题是为什么不14小时回滚? 没有一些具体的细节很难说,但如果原来的查询使用了并行工作,那么可能会完成超过14个小时的工作.例如,如果更新与4名工作人员同时运行,则可以完成56个工作小时或2.3天.回滚大多是单线程的,所以可能需要4倍的时间来完成回滚.另外,在执行过程中,预读通常更高效,因为计划是已知的,回滚必须在日志记…