Error 311
Error 311
Topic last updated -- January 2004
Message Text
Thread %s (ID %ld) is still running.
Explanation
When SQL Server Agent prepares to shut down, it sends all threads an event notifying them of the shutdown. SQL Server Agent then waits for a period of time to allow the threads to exit. After this period of time, if one or more threads are still active, SQL Server Agent logs this message and forcibly terminates each thread.
User Action
If a job is forcibly terminated when SQL Server Agent shuts down, the job may be left in an indeterminate state, depending on the type of job step and the stage of the job at the time that the job was terminated.
Recovery steps depend on the specific job and the exact state of the job. For simple Transact-SQL jobs or jobs that occur within a transaction, it may be sufficient to simply rerun the job. Complex jobs that are not protected within a transaction may require manual recovery by someone who knows the details of the job.
The registry key
HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\MSSQLServer\SQLServerAgent\JobShutdownTimeout
determines how long SQL Server Agent waits for jobs to exit. You can increase the value of this registry key to allow more wait time. However, increasing the timeout may also cause SQL Server Agent to take longer to shut down.