Você já se perguntou, o que são os Status das queries que vemos ao executar um simples SP_WHO2 ou um select na SYSPROCESS.
Alguns são auto explicativos como o RUNNING, mais e o BACKGROUND e o RUNNABLE, você sabe o que significa?
Nesse post vou tentar explicar de uma forma bem sucinta o que são cada um desses status que aparecem nas sessões.
RUNNING: A sessão está sendo executada.
SUSPENDED: A sessão está esperando algum processo terminar para entrar no status RUNNING, esse processo pode ser uma transação ou um evento relacionado a I/O.
RUNNABLE: Uma sessão quando apresenta esse status, significa que está pronta para a execução e está aguardando a abertura de uma Thread na CPU do servidor para iniciar.
PENDING: Uma sessão com esse status, está esperando uma Worker Thread, para que a sua execução inicie. Os ‘Workers’ coordenam a execução de todos os processos internos do SQL Server.
BACKGROUND: Esse tipo de status está relacionado com processos internos do SQL Server. Um exemplo é o Deadlock Monitor. O Deadlock Monitor está sempre em execução e caso aconteça um Deadlock uma das sessões é encerrada por esse processo.
SLEEPING: A sessão não está executando nenhuma tarefa.
ROLLBACK: A sessão está sendo revertida ao seu estado original.