我有一个存储过程,它调用一系列存储过程作为帐户更新的一部分。不幸的是,我有一个10分钟的限制(与SQL Server无关,外部超时),有时超过超时。 (在合适的条件下,可能会花费一个小时。)从另一个存储过程中调用一个存储过程而不需要**嵌套
我试过各种解决方案。代码大概和它将要获得的优化一样。一种解决方案就是将初始存储的proc调用称为“真实”存储过程;由于超时只知道最初的proc,所以真正的proc可以继续畅通无阻。问题是SQL-Server嵌套proc ... proc A直到它所调用的procs(procs B,C和D)完成后才会完成。
SQL-Server的内部消息传递可以工作,但我们的数据库不兼容。 (不在我的控制之下)。我想过让最初的proc创建一个一次性工作(稍后运行一次)并让job scheduler运行它,但是如果我添加的话,我们的DBA可能不会很开心并一直删除作业。
有没有办法让存储过程执行另一个存储过程,然后在被调用过程继续运行时立即退出?
不“涉及”DBA,使其“调用”DBA。 – 2013-05-07 23:29:52
我修改了一下。希望它更清楚一点。 – 2013-05-07 23:35:04
对不起,那是个玩笑。 “涉及”是恰当的词。当你想要处理恶魔,恶魔,黑暗力量......和DBA时,“调用”就是你所做的。 – 2013-05-08 13:38:44