SQL Server Mysteries: The Case of the Suspended, Awaiting Command, and Blocked Session


Moved from: bobsql.com

 

I ran into a scenario showing my session as suspendedawaiting command and blocked!  My first thought was that this had to a bug.

As many of us have documented, for years, a sleeping, awaiting command, session is a session waiting on the client to submit a TSQL command to the SQL Server. The client must send a command to SQL Server or the SQL Server status is ‘awaiting command’ for the session.

 

The difference in my scenario was the ‘SUSPENDED’ and ‘BLOCKED’ indicators.  A blocked session must have a worker.  The worker is not released until the command completes.