Uma instância do SQL Server seja executado lentamente quando você usa SQL Profiler para executar um rastreamento do lado do cliente dos eventos na instância

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

Sintomas

Considere o seguinte cenário:
  • Você tiver um computador que está executando uma instância do Microsoft SQL Server 2000 ou do Microsoft SQL Server 2005.
  • Você usar o SQL Profiler para executar um rastreamento do lado do cliente dos eventos na instância do SQL Server.
  • Executar o SQL Profiler no computador que está executando a instância do SQL Server ou execute SQL Profiler em um computador diferente.
Nesse cenário, a instância do SQL Server executa lentamente.

Quando esse problema ocorre, você perceber os seguintes sintomas se você consultar a tabela de sistema master.dbo.sysprocesses na instância do SQL Server:
  • Processo de servidor ativo várias identificações (SPIDs) exibir o valor 0x404 (LATCH_EX) na coluna waittype .
  • Um ou mais SPIDs exibem o valor SQL Profiler na coluna program_name .
Além disso, você consulte um dos seguintes valores na coluna waitresource se você consultar a tabela de sistema master.dbo.sysprocesses :
  • MISC (hex address)
  • TRACE_CONTROLLER
  • TRACE_IO_SYNC
  • TRACE
Você ver um desses valores, se as seguintes condições forem verdadeiras:
  • Use o SQL Server 2005 ou SQL Server 2000 Service Pack 4 (SP4).
  • Um SPID está aguardando para executar operações de rastreamento de sincronização no SQL Profiler.

Causa

Quando você executa o SQL Profiler em uma instância do SQL Server 2000 ou do SQL Server 2005, cada SPID ativa da instância requer um registrador de divisão exclusivo (LATCH_EX) para gravar o evento SQL Profiler. O SPID gravará o evento para o buffer de memória local primeiro. Em seguida, o evento é transferido para o SQL Profiler. Se o buffer de memória local estiver cheio, o SPID descarta o evento. Após os eventos no buffer de memória local são transferidos para o SQL Profiler, o SPID pode escrever novos eventos para o buffer de memória local. Se outros SPIDs estão aguardando para gravar eventos SQL Profiler, esses SPIDs esperar em uma fila.

Como o SQL Profiler é um processo que é separado do processo do SQL Server, transferindo cada evento para o SQL Profiler leva algum tempo. Se você executar o SQL Profiler em um computador diferente, esse processo leva mais tempo. Esse processo leva mais tempo devido a latência da rede e por causa do desempenho do computador que esteja executando o SQL Profiler. Portanto, a instância do SQL Server executa lentamente.

Como Contornar

Para contornar esse problema, não use o SQL Profiler para executar um rastreamento do lado do cliente dos eventos na instância do SQL Server. Em vez disso, use procedimentos armazenados do sistema para executar um rastreamento do lado do servidor dos eventos.

Você pode usar os seguintes procedimentos armazenados do sistema:
  • sp_trace_create
  • sp_trace_setevent
  • sp_trace_setfilter
  • sp_trace_setstatus
Para obter mais informações sobre esses sistema armazenadas procedimentos, procure os procedimentos armazenados no Books Online do SQL Server 2000 ou no Books Online do SQL Server 2005.

Situação

A Microsoft confirmou que este é um problema nos produtos da Microsoft listados na seção "Aplica-se a".

Mais Informações

Você pode usar o utilitário de coleção de dados PSSDIAG para coletar os arquivos de dados de rastreamento. Para obter mais informações sobre o utilitário de coleção PSSDIAG dados, clique no número abaixo para ler o artigo na Base de dados de Conhecimento da Microsoft:
830232Utilitário de coleção de dados PSSDIAG
Para obter mais informações sobre a coluna waittype no SQL Server 2000 e no SQL Server 2005, clique no número abaixo para ler o artigo na Base de dados de Conhecimento da Microsoft:
822101Descrição das colunas waittype e lastwaittype na tabela master.dbo.sysprocesses no SQL Server 2000 e o SQL Server 2005

Propriedades

ID do artigo: 929728 - Última revisão: terça-feira, 30 de setembro de 2008 - Revisão: 3.0
A informação contida neste artigo aplica-se a:
  • Microsoft SQL Server 2005 Standard Edition
  • Microsoft SQL Server 2005 Enterprise Edition
  • Microsoft SQL Server 2005 Workgroup Edition
  • Microsoft SQL Server 2005 Developer Edition
  • Microsoft SQL Server 2000 Standard Edition
  • Microsoft SQL Server 2000 Enterprise Edition
  • Microsoft SQL Server 2000 Workgroup Edition
  • Microsoft SQL Server 2000 Developer Edition
Palavras-chave: 
kbmt kbsql2005engine kbexpertiseadvanced kbtshoot kbprb KB929728 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: 929728

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