ID do artigo: 906344 - Última revisão: quarta-feira, 31 de agosto de 2005 - Revisão: 2.1

A coluna na tabela sysprocesses bloqueada é preenchida para esperas de registrador de divisão após a instalação do SQL Server 2000 SP4

Dica do SistemaEste artigo aplica-se a um sistema operativo diferente do que está a utilizar. Foi desactivado o conteúdo do artigo, que pode não ser relevante para si.
Expandir tudo | Recolher tudo

Sumário

Depois de instalar o Microsoft SQL Server 2000 Service Pack 4 (SP4), você pode observar que a coluna bloqueado na tabela de sistema sysprocesses é preenchida para esperas de registrador de divisão em adição à espera de bloqueio. Às vezes, você poderá notar breves períodos de tempo quando um processo de único servidor ID (SPID) é reportado como bloqueio propriamente dito. Esse comportamento é esperado.

Mais Informações

Registradores de divisão são usados para sincronizar o acesso a dados armazenados em cache páginas e outros objetos na memória. Normalmente, registradores de divisão são mantidos somente rapidamente e tempos de espera de registrador de divisão são correspondentemente pequenos. SQL Server 2000 SP4 adiciona diagnósticos para ajudar a solucionar casos em que um SPID aguarda muito tempo para um registrador de divisão. Esses diagnóstico causar coluna bloqueado em tabela de sistema sysprocesses para refletir o proprietário de um registrador de divisão que está bloqueando a solicitação de registrador de divisão de SPID outro. Antes de SQL Server 2000 SP4, a coluna bloqueado apenas foi preenchida quando uma espera de bloqueio causou bloqueio.

Essa alteração no SQL Server 2000 SP4 não altera as situações em que um registrador de divisão é solicitada. Além disso, essa alteração não altera as situações em que um SPID está bloqueada por um registrador de divisão. Essa alteração só afeta a maneira na qual trava esperas são relatadas na tabela de sistema sysprocesses .

Propriedade trava somente é controlada para registradores de divisão que estão em exclusivo (EX) ou atualizar (modo de registrador de divisão acima). Propriedade não é controlada para registradores de divisão que estão no modo de registrador de divisão (SH) compartilhado. Isso significa que a coluna bloqueada não será preenchida para algumas solicitações de registrador de divisão, mesmo depois que o SQL Server 2000 SP4 tiver sido instalado.

Na maioria das vezes, você pode ignorar o valor na coluna bloqueado se as seguintes condições forem verdadeiras:
  • O valor na coluna waittime é baixo.
  • Waittype do SPID é waittype um registrador de divisão.
Para obter mais informações sobre os possíveis valores na coluna waittype, clique no número abaixo para ler o artigo na Base de dados de Conhecimento da Microsoft:
822101  (http://support.microsoft.com/kb/822101/ ) Os waittype e lastwaittype colunas na tabela sysprocesses no SQL Server 2000
Quando um SPID está aguardando uma trava de página de E/s, você poderá notar que a coluna bloqueado rapidamente relatórios que o SPID está bloqueando o próprio. Esse comportamento é um efeito colateral da forma que os registradores de divisão são usados para operações de E/s em páginas de dados. Quando um thread emite uma solicitação de E/s, o SPID que emite a solicitação de E/s adquire um registrador de divisão na página. São assíncronas, todas as operações de E/s do SQL Server 2000. Portanto, o SPID tentará adquirir outra registrador de divisão na mesma página se o SPID que emitiu a solicitação de E/s deve esperar para a solicitação concluir. Esta segunda registrador de divisão está bloqueada por trava primeira. Portanto, a coluna bloqueado relata que o SPID está bloqueando o próprio. Quando a solicitação de E/s for concluído, o registrador de divisão primeiro será liberado. Em seguida, a segunda solicitação registrador de divisão é concedida.

Por exemplo, as seguintes condições podem ocorrer:
  1. SPID 55 deseja ler uma página de dados que não existe no pool de buffer.
  2. SPID 55 adquire um registrador de divisão EX na página. Porque a página não existe ainda na memória, o modo de registrador de divisão solicitada é EX. O modo de registrador de divisão de EX Força outros SPIDs que também podem acessar a página para aguardar a solicitação de E/s concluir. O modo de registrador de divisão de EX também impede que outros SPIDs emitir uma solicitação de E/s duplicada para a mesma página.
  3. SPID 55 emite a solicitação de E/s para ler a página do disco.
  4. Porque SPID 55 deseja ler a página, SPID 55 deve aguardar a solicitação de E/s concluir. Para aguardar a solicitação de E/s concluir, o SPID 55 tenta adquirir outra registrador de divisão que possui o modo de registrador de divisão (SH) compartilhado na mesma página. Porque um registrador de divisão EX já tiver sido adquirido, a solicitação de registrador de divisão SH está bloqueada e o SPID está suspenso. Porque o registrador de divisão EX que bloqueia a solicitação de registrador de divisão SH também foi adquirida pela 55 SPID, o SPID é temporariamente relatado como bloqueio propriamente dito.
  5. Quando termina a solicitação de E/s, o registrador de divisão EX na página será liberado.
  6. A versão do registrador de divisão EX fornece trava SH a 55 SPID.
  7. SPID 55 agora pode ler a página.
Entre etapa 4 e etapa 5, a tabela sysprocesses indica que 55 SPID está bloqueado pelo próprio juntamente com um waittype de PAGEIOLATCH_ XX. Nesta waittype XX pode ser SH, UP ou EX. Esse comportamento indica que o SPID 55 emitiu uma solicitação de E/s e SPID 55 está aguardando a solicitação de E/s concluir.

A informação contida neste artigo aplica-se a:
  • Microsoft SQL Server 2000 Service Pack 4
Palavras-chave: 
kbmt kbinfo kbtshoot KB906344 KbMtpt
Tradução automáticaTraduçã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: 906344  (http://support.microsoft.com/kb/906344/en-us/ )