I have a stored proc that calls a series of stored procs as part of an account update. Unfortunately I have a 10-minute limit (unrelated to SQL-Server, external timeout) and sometimes it exceeds the timeout. (Under the right conditions it could go an hour.)
I've tried various solutions. The code is about as optimized as it's going to get. One solution would simply be to have an initial stored proc call the "real" stored proc; since the timeout only knows of the initial proc, the real proc can continue unimpeded. The problem is that SQL-Server nests the procs... proc A won't finish until the procs it called (procs B, C and D) are finished.
SQL-Server's internal messaging would work, but our DB isn't compatible. (Out of my control.) I thought about having the initial proc set up a one-time job (to run a minute later) and let the job scheduler run it, but our DBAs probably won't be happy if I'm adding and deleting jobs all the time.
Is there any way for a stored proc to EXEC another stored proc, then immediately quit while the called proc continues to run?