Descrição das colunas waittype e lastwaittype na tabela master.dbo.sysprocesses no SQL Server 2000 e o SQL Server 2005

Traduções deste artigo Traduções deste artigo
ID do artigo: 822101 - Exibir os produtos aos quais esse artigo se aplica.
Expandir tudo | Recolher tudo

Neste artigo

Sumário

A tabela master.dbo.sysprocesses no Microsoft SQL Server 2000 e o SQL Server 2005 é uma tabela de sistema que contém informações sobre o processo de servidor ativo identificações (SPIDs) que estão em execução no SQL Server.

Se você estiver usando o SQL Server 2005, você também pode acessar esta tabela usando a exibição de compatibilidade sys.sysprocesses .

A coluna waittype , a coluna lastwaittype , a coluna waittime e a coluna waitresource na tabela de sistema master.dbo.sysprocesses fornecem informações sobre os recursos que os processos estão aguardando.

Este artigo lista os valores possíveis lastwaittype, os valores associados waittype e uma breve descrição de seus significados.

Mais Informações

A tabela de sistema master.dbo.sysprocesses armazenado no banco de dados mestre da sua instância do SQL Server contém as seguintes colunas ajudam o administrador do sistema monitorar os processos para cenários de contenção de recursos e problemas de bloqueio:
  • WaitType : O campo waittype é uma coluna binária interna reservada. O valor no campo waittype indica o tipo de recurso que está aguardando a conexão.
  • lastwaittype : O campo lastwaittype é uma representação seqüência de caracteres do campo waittype . O campo lastwaittype indica o último waittype ou o waittype atual de um SPID. Se o valor da coluna waittype para um SPID for 0 x 0000, o SPID não está aguardando no momento em qualquer recurso. Nesse caso, a coluna lastwaittype indica o último waittype que experimentou o SPID. No entanto, se o valor da coluna waittype para um SPID for diferente de zero, os valores na coluna lastwaittype e a coluna waittype para o SPID são iguais. Esses valores indicam o estado de espera atual para o SPID.

    Observação Waittype UMSTHREAD é uma exceção a essa regra. Consulte a descrição de UMSTHREAD na seção "Outras waittypes" para obter detalhes adicionais.
  • waittime : A coluna waittime fornece o número de milissegundos que o SPID tem sido aguardando com waittype atual.
  • waitresource : A coluna waitresource oferece mais informações detalhadas sobre o recurso específico que está aguardando o SPID.
As seções posteriores deste artigo descrevem algumas das waittypes que tenham suporte do SQL Server e que freqüentemente são registrados na tabela de sistema master.dbo.sysprocesses .

LOCK waittypes

A tabela a seguir lista o waittypes LOCK na tabela de sistema master.dbo.sysprocesses no SQL Server 2000 e no SQL Server 2005.
Recolher esta tabelaExpandir esta tabela
LastwaittypeWaittypeDescrição
LCK_M_SCH_S0 x 01Estabilidade de esquema
LCK_M_SCH_M0 x 02Modificação do esquema
LCK_M_S0 x 03Compartilhamento
LCK_M_U0x04Atualização
LCK_M_X0 x 05Exclusivo
LCK_M_IS0 x 06Tentativa de compartilhamento
LCK_M_IU0 x 07Tentativa de atualização
LCK_M_IX0 x 08Tentativa de exclusivo
LCK_M_SIU0x09Tentativa de atualizar compartilhado
LCK_M_SIX0x0ACompartilhamento-tentativa-exclusivo
LCK_M_UIX0x0BExclusivo de tentativa de atualização
LCK_M_BU0x0CAtualização em massa
LCK_M_RS_S0x0DCompartilhamento de compartilhamento de intervalo
LCK_M_RS_U0x0EAtualização de compartilhamento de intervalo
LCK_M_RI_NL0x0FIntervalo-inserir-NULL
LCK_M_RI_S0 x 10Intervalo inserir compartilhados
LCK_M_RI_U0 x 11Intervalo-inserir-atualizar
LCK_M_RI_X0 x 12Intervalo-inserir-exclusivo
LCK_M_RX_S0 x 13Intervalo exclusivo compartilhados
LCK_M_RX_U0 x 14Atualização do intervalo-exclusivo
LCK_M_RX_X0x15Intervalo-exclusivo-exclusivo
Para obter mais informações sobre os tipos LOCK que têm suporte no SQL Server 2000 e o SQL Server 2005, consulte os seguintes tópicos nos manuais online do SQL Server:
  • Noções básicas sobre o bloqueio no SQL Server
  • Bloquear compatibilidade
Além disso, se um SPID está aguardando waittypes LOCK e o valor correspondente na coluna waittime que está conectado na tabela de sistema master.dbo.sysprocesses é muito alto, você deve solucionar os problemas de bloqueio para a instância do SQL Server.

Para obter mais informações, clique no número abaixo para ler o artigo na Base de dados de Conhecimento da Microsoft:
224453Noções básicas sobre e resolver o SQL Server 7.0 ou problemas de bloqueio de 2000

Registrador de divisão waittypes

Um registrador de divisão é um objeto de sincronização leve a curto prazo. A lista a seguir descreve os diferentes tipos de registradores de divisão:
  • registrador de divisão não-buffer (não-BUF) : registradores de divisão os buffer não fornecer serviços de sincronização para estruturas de dados na memória ou fornecer proteção de reentrada para linhas de código sensíveis à simultaneidade. Esses registradores de divisão podem ser usados para uma variedade de coisas, mas não são usados para sincronizar o acesso a páginas de buffer.
  • registrador de divisão BUF (buffer) : os registradores de divisão de buffer são usados para sincronizar o acesso ao BUF estruturas e suas páginas de banco de dados associado. O buffer típica engatador ocorre durante operações que exigem serialização em uma página de buffer, (durante uma divisão da página ou durante a alocação de uma nova página, por exemplo). Esses registradores de divisão não são mantidos para a duração de uma transação. Esses são indicados na tabela master.dbo.sysprocesses por waittypes PAGELATCH.

    Para obter mais informações sobre uma das possíveis causas de BUF contenção de registrador de divisão, clique no número abaixo para ler o artigo na Base de dados de Conhecimento da Microsoft:
    328551CORRECÇÃO: Aprimoramentos de simultaneidade para o banco de dados tempdb
  • registrador de divisão de E/S : registradores de divisão de E/S O são um subconjunto de registradores de divisão BUF que são usadas quando o buffer e página de dados associada ou a página de índice está no meio de uma E/S operação. PAGEIOLATCH waittypes são usados para transferências de disco para memória e um waittime significativo para esses waittypes sugere problemas de subsistema de E/s de disco.
A tabela a seguir lista o waittypes trava diferentes que você pode observar na tabela de sistema master.dbo.sysprocesses no SQL Server 2000 e no SQL Server 2005.
Recolher esta tabelaExpandir esta tabela
LastwaittypeWaittypeDescrição
LATCH_NL0x400Registrador de divisão nulo
LATCH_KP0 x 401Manter o registrador de divisão
LATCH_SH0x402Registrador de divisão compartilhada
LATCH_UP0x403Registrador de divisão de atualização
LATCH_EX0x404Registrador de divisão exclusivo
LATCH_DT0x405Destruir registrador de divisão
PAGELATCH_NL0x410Buffer nulo trava de página
PAGELATCH_KP0x411Manter trava de página de buffer
PAGELATCH_SH0x412Compartilhado trava de página de buffer
PAGELATCH_UP0x413Trava de página do buffer de atualização
PAGELATCH_EX0x414Buffer exclusivo trava de página
PAGELATCH_DT0x415Destruir trava de página de buffer
PAGEIOLATCH_NL0x420Trava de página E/s buffer nulo
PAGEIOLATCH_KP0x421Manter trava de página E/s de buffer
PAGEIOLATCH_SH0x422Compartilhado trava de página E/s de buffer
PAGEIOLATCH_UP0x423Trava de página E/s de buffer de atualização
PAGEIOLATCH_EX0x424Buffer exclusivo trava de E/s de página
PAGEIOLATCH_DT0x425Destruir trava de página E/s de buffer


Iniciando com o SQL Server 2000 SP4, a coluna waitresource para registradores dos mais comuns não Buf divisão, o Latch_XX registradores de divisão, é preenchido usando os valores na tabela a seguir. Não antes de SQL Server 2000 SP4, havia para determinar o motivo que registradores de divisão os buffer não estavam sendo mantidos sem mais diagnóstico invasivo, como um userdump. O waittype ou o waitresource deve ser exibida usando o waittime. O waittime Especifica em milissegundos quanto o segmento tem sido aguardando.
Recolher esta tabelaExpandir esta tabela
Waitresource Descrição solução de problemas
FCB FGCB_ALLOCEsses registradores de divisão Latch_XX são mantidos quando páginas são alocadas de um arquivo, se ele é uma extensão uniforme ou mista. Os registradores de divisão também são mantidos durante operações de alocação, como crescimento e reduzindo um arquivo, renomear ou soltando um arquivo, ou adicionar ou remover um arquivo.Determine se os arquivos são reduzindo ou crescimento. Iniciando com o SQL Server 2000 SP4, a opção de crescimento automático será registrada no log de erros se leva mais de 30 segundos. O ideal é que a opção de crescimento automático deve ser usada como um backup, e você deve usar capacidade prudente planejamento para evitar a penalidade de tempo de execução de crescimento do arquivo. Você também pode alterar o valor de crescimento automático padrão de 10 % para um tamanho fixo. Não é recomendável que você use o Autoshrink em produção. Os arquivos nesse grupo de arquivos também podem emitir várias solicitações para alocações. Você pode adicionar mais arquivos em que grupo de arquivos.
RASTREAMENTO TRACE_CONTROLLER TRACE_IO_SYNC Esses registradores de divisão Latch_XX são mantidos para fins de sincronização em operações de rastreamento do gerador de perfil. Operações Sychronization incluem iniciando, parando, definindo o status do rastreamento e sincronizando leitores e gravadores. Identifica qualquer rastreamentos de gerador de perfil que estiverem executando. Tente evitar executar mais de um rastreamento de gerador de perfil ao mesmo tempo. Quando um rastreamento do profiler é iniciado, o rastreamento é registrado no log de eventos do aplicativo. Além disso, você pode usar a seguinte consulta no SQL Query Analyzer para exibir rastreamento ativo.
SELECT * FROM 
::fn_trace_getinfo(NULL)
PARALLEL_PAGE_SUPPLIEREsses registradores de divisão Latch_XX são usados para sincronizar a recuperação de páginas para uma consulta paralela. Essa trava indica que a consulta está sendo executado em paralelo e pode ser típica.Ajuste a consulta se a coluna waittime é um valor grande e a consulta está executando mal.
IDESO waitresource de registrador de divisão IDES é usado quando a página PFS é digitalizada para localizar espaço livre e quando a página PFS é atualizada para refletir alocações e deallocations de páginas. Essa trava também é usada quando páginas únicas são alocadas para um objeto existente.Determina se você tem um índice de cluster no objeto em questão.

Outros waittypes

A tabela a seguir lista outros waittypes que você pode observar na tabela de sistema master.dbo.sysprocesses no SQL Server 2000 e no SQL Server 2005.
Recolher esta tabelaExpandir esta tabela
LastwaittypeWaittypeDescrição
ESTADO DE SUSPENSÃO0 x 20Este waittype indica que o SPID está esperando por um período de tempo especificado e é um estado comum para os threads de plano de fundo que processam o lazywrites, os pontos de verificação ou os eventos de rastreamento do profiler do lado do servidor.
IO_COMPLETION0 x 21Este waittype indica que o SPID está aguardando as solicitações de E/s concluir. Quando você notar esse waittype para um SPID na tabela de sistema sysprocesses , você deve identificar os afunilamentos de disco usando os contadores do monitor de desempenho, rastreamento de gerador de perfil, a função de com valor de tabela de sistema fn_virtualfilestats e a opção SHOWPLAN para analisar os planos de consulta que correspondem ao SPID. Você pode reduzir este waittype adicionando largura de banda de E/s adicional ou balanceamento de E/s em outras unidades. Você também pode reduzir E/s usando a indexação, procure planos de consulta incorreto e procure a pressão de memória.
ASYNC_IO_COMPLETION0 x 22Este waittype indica que o SPID está aguardando as solicitações de E/s assíncronas concluir. Como waittype IO_COMPLETION, este waittype também indica uma E/s afunilamento. Você pode ver este waittype para os SPIDs durante operações de O vinculadas a execução demorada, tais como o crescimento automático de banco de dados, ALTER DATABASE, CREATE DATABASE ou BACKUP. Este waittype também pode indicar gargalos de disco.
RESOURCE_SEMAPHORE0 x 40Este waittype indica que o SPID está aguardando um recurso. Aqui, os SPIDs geralmente esperar para adquirir a memória para a classificação ou a operação hash durante a execução da consulta. Este waittype também pode indicar que a memória pressão existe na parte visível do pool de buffer.
DTC0x41Este waittype indica que o SPID está aguardando o coordenador de transações distribuídas da Microsoft serviço (MS DTC).
OLEDB0 x 42Este waittype indica que um SPID fez uma função chamada para um provedor OLE DB e está aguardando para a função retornar os dados necessários. Este waittype também pode indicar que o SPID está aguardando chamadas de procedimento remoto ou servidor vinculado consultas retornar os dados necessários. O SPID pode também ser aguardando comandos BULK INSERT ou consultas de pesquisa completa retornar os dados necessários.

Waittype OLEDB é usado para indicar vários diferentes estados, incluindo de espera: vinculado consultas de servidor, consultas de pesquisa de texto completo, comandos BULK INSERT, rastreamentos do lado do cliente do Profiler, Materialização de tabelas virtuais como a tabela sysprocesses, leitor de log e DBCC CHECKDB.
RESOURCE_QUEUE0x44Isso é comum ? ? estado ocioso para threads de segundo plano no SQL Server.
ASYNC_DISKPOOL_LOCK0x45Você pode perceber esse waittype durante as operações O-vinculadas de execução demorada, como criar, expandindo ou soltando um arquivo de banco de dados.
UMSTHREAD0x46Este waittype indica que um lote foi recebido de um aplicativo cliente, mas que não há nenhum threads de trabalho estão disponíveis para atender à solicitação. Se você vir consistentemente 0x0046 waittypes para vários SPIDs, há um afunilamento significativo em outro lugar no sistema que está usando todos os threads trabalho disponíveis. (Observe que a coluna waittime é sempre 0 para waittype UMSTHREAD e a coluna lastwaittype erroneamente pode mostrar o nome de um waittype diferente em vez de UMSTHREAD."
WRITELOG0 x 81Este waittype indica que o SPID está aguardando uma solicitação de E/s de log de transação concluir. Este waittype também pode indicar um afunilamento de disco possíveis.
PSS_CHILD
TROCA
CXPACKET
0x101
0x200
0x208
Esses waittypes são todos os envolvidos na execução de consulta paralela. Esses waittypes indicam que o SPID está aguardando um processo paralelo para concluir ou iniciar.
PAGESUPP0x209Este waittype controla o tempo de espera é incorrido devido a serialização necessária na distribuição linhas para chamadores de várias em uma verificação paralela.
CURSOR0x20CEste waittype indica que o SPID está participando na sincronização de thread enquanto ele usa cursores assíncronas. O sp_configure ? cursorthreshold ? configuração pode determinar quando um cursor é criado assincronamente.
DBTABLE0x202Este waittype indica que um thread está aguardando para executar um ponto de verificação e outro thread já está ponto de verificação do banco de dados.
EC0x203Este waittype indica que o SPID está aguardando o acesso ao contexto de execução.
TEMPOBJ0x204Este waittype indica que o SPID está aguardando para descartar um objeto temporário que ainda está sendo usado.
XACTLOCKINFO0x205Este waittype indica que o SPID está aguardando para efetuar manutenção em sua lista de bloqueio.
LOGMGR0x206Este waittype é usado quando o SPID tenta desligar um banco de dados e aguarda até que as solicitações de E/s de log de transação pendente concluir.
CMEMTHREAD0x207Este waittype indica que o SPID está aguardando o acesso a um objeto memória thread-safe. A serialização certifica que enquanto os usuários são alocar ou liberar a memória do objeto memória, outros SPIDs que está tentando executar a mesma tarefa precise aguardar e waittype CMEMTHREAD é definida quando os SPIDs estão aguardando.

Você pode perceber esse waittype em muitos cenários. No entanto, esse waittype com mais freqüência é registrado quando os planos de consulta ad hoc forem sendo inseridos rapidamente em um cache de procedimento de muitos diferentes conexões para a instância do SQL Server. Você pode endereçar este afunilamento limitando os dados que devem ser inseridos ou removidos do cache de procedimento, como explicitamente parametrização das consultas para que as consultas podem ser reutilizadas ou usar procedimentos armazenados onde for apropriado.
DESLIGAMENTO0x20AEste waittype indica que um comando SHUTDOWN foi emitido por SPID, e o SPID está aguardando consultas ativas concluir.
WAITFOR0x20BEste waittype indica que o SPID está suspenso devido a um WAITFOR DELAY Transact-SQL instrução.
NETWORKIO0 x 800Este waittype indica que o SPID está aguardando o aplicativo cliente buscar os dados antes do SPID pode enviar mais resultados para o aplicativo cliente.

Referências

Para obter mais informações, clique no número abaixo para ler o artigo na Base de dados de Conhecimento da Microsoft:
244455Definição de sysprocesses waittype e lastwaittype campos para o SQL Server 7.0
Para obter informações adicionais sobre a tabela de sistema master.dbo.sysprocesses no SQL Server 2000, visite o seguinte site:
http://msdn2.microsoft.com/en-us/library/aa260456(SQL.80).aspx
Para obter mais informações sobre registradores de divisão no SQL Server 2000, visite o seguinte site:
http://msdn2.microsoft.com/en-us/library/aa224727(SQL.80).aspx

Propriedades

ID do artigo: 822101 - Última revisão: quinta-feira, 17 de maio de 2007 - Revisão: 8.4
A informação contida neste artigo aplica-se a:
  • Microsoft SQL Server 2000 Standard Edition
  • Microsoft SQL Server 2005 Standard Edition
  • Microsoft SQL Server 2005 Express Edition
  • Microsoft SQL Server 2005 Developer Edition
  • Microsoft SQL Server 2005 Enterprise Edition
  • Microsoft SQL Server 2005 Workgroup Edition
Palavras-chave: 
kbmt kbsystemdata kbfield kbdatabase kbinfo KB822101 KbMtpt
Tradução automática
IMPORTANTE: Este artigo foi traduzido por um sistema de tradução automática (também designado por Machine Translation ou MT), não tendo sido portanto traduzido ou revisto por pessoas. A Microsoft possui artigos traduzidos por aplicações (MT) e artigos traduzidos por tradutores profissionais, com o objetivo de oferecer em português a totalidade dos artigos existentes na base de dados de suporte. No entanto, a tradução automática não é sempre perfeita, podendo conter erros de vocabulário, sintaxe ou gramática. A Microsoft não é responsável por incoerências, erros ou prejuízos ocorridos em decorrência da utilização dos artigos MT por parte dos nossos clientes. A Microsoft realiza atualizações freqüentes ao software de tradução automática (MT). Obrigado.
Clique aqui para ver a versão em Inglês deste artigo: 822101

Submeter comentários

 

Contact us for more help

Contact us for more help
Connect with Answer Desk for expert help.
Get more support from smallbusiness.support.microsoft.com