客户端在执行存储过程时报告了非常奇怪的行为的重复实例.
它们具有运行易失性数据集的缓存转置的代码.如果出现以下情况,则会编写存储过程以按需重新处理数据集:
1.数据集自上次重新处理后已更改
2. 数据集已更改5分钟
(第二个条件是在更改期间停止大量重复重新计算.)
这工作好几个星期,SP花了1-2秒完成重新处理,它只在需要时才这样做.然后...
这已经重复了很多次.SP突然"停止工作",永不返回,客户端超时.(我们尝试通过管理工作室运行它,并在15分钟后取消查询.)
然而,每次我们重新编译SP时,它都会突然再次运行.
我还没有在适当的EXEC声明中尝试过WITH RECOMPILE,但我并不特别想这样做.它每小时被调用一百次,通常什么都不做(它只会每天重新处理数据几次).如果可能的话,我想避免重新编译什么是相对复杂的SP的开销"只是为了避免"不应该"发生的事情......
干杯,
Dems.
编辑:
pseduo代码如下:
选择是"不漂亮",但是当在线执行时,它们立即执行.包括SP何时拒绝完成.分析器显示它是SP"停止"的INSERT
SP没有参数,sp_lock没有显示阻止进程的任何内容.