Usuário com melhor resposta
Duvidas, select de processos ativos

Pergunta
-
Prezados,
Uso o seguinte select para listar os processos ativos do SQLServer:
Select Processo = spid
,Computador = hostname
,Usuario = loginame
,Status = status
,BloqueadoPor = blocked
,TipoComando = cmd
,Aplicativo = program_name
from master..sysprocesses
where status in ('runnable', 'suspended')
order by blocked desc, status, spid
Sempre tem retornado as seguintes linhas:
'' sa suspended 0 LOG WRITER ''
'' sa suspended 0 CHECKPOINT ''
Isso é um problema?
Saberiam informar algum select para visualizar o total de conexões ativas com o SQLServer?
Em suma, quero tentar identificar algum consumo excessivo no processamento do SQLServer.
PS: Uso o SQLSERVER 2005.
Atc,
Respostas
-
Adriano,
Isso não é um problema não, na verdade estas linhas que estão sendo retornadas representam dois processos internos que o SQL Server executa sempre que uma instrução é processada.
No caso do Log writer, este evento é responsável em armazenar as informações no log de transações do SQL Server.
O Checkpoint, é o evento responsável em checar se as transações que esta sendo processadas devem ser confirmadas e marcadas para que o SQL Server faça a sua execução.
Agora se você deseja verificar todas as conexões ativas no SQL Server, além das possibilidades que o Gustavo destacou, você poderia utilizar a system stored procedure SP_WHO ou SP_WHO2.
Todas as Respostas
-
Boa Tarde,
Sua consulta é interessante, mas eu diria que para o SQL Server 2005 ela está um pouco ultrapassada. Existem diversas DMVs mais diretas e completas que a Sysprocess. Eu recomendaria o seguinte:
Code Snippet-- Listar conexões ativas
SELECT
* FROM sys.dm_exec_connections-- Listar sessões ativas
SELECT
* FROM sys.dm_exec_sessions-- Listar requisições
SELECT
* FROM sys.dm_exec_requestsLembre-se de que assim como o SQL Server 2000, o SQL Server 2005 reserva os 50 primeiros processos para uso interno. Se quiser monitorar, procure por sessões com o Session_Id acima desse valor.
[ ]s,
Gustavo
-
Adriano,
Isso não é um problema não, na verdade estas linhas que estão sendo retornadas representam dois processos internos que o SQL Server executa sempre que uma instrução é processada.
No caso do Log writer, este evento é responsável em armazenar as informações no log de transações do SQL Server.
O Checkpoint, é o evento responsável em checar se as transações que esta sendo processadas devem ser confirmadas e marcadas para que o SQL Server faça a sua execução.
Agora se você deseja verificar todas as conexões ativas no SQL Server, além das possibilidades que o Gustavo destacou, você poderia utilizar a system stored procedure SP_WHO ou SP_WHO2.
-