Bruno Perroni
DBA SQL Server com mais de 6 anos de experiência!

Session Status

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.