CORRECÇÃO: Um bloqueio ocorre quando você executar o Merge Agent no SQL Server 2005

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

Neste artigo

Sintomas

No Microsoft SQL Server 2005, você configura uma publicação de mesclagem. Quando você executar o Merge Agent, ocorre um problema de bloqueio. Quando você monitora o problema de bloqueio, você encontrar os seguintes comportamentos:
  • Na saída do script bloqueio que você criou para monitorar esse problema, alguns threads que estejam executando procedimentos armazenados de replicação são bloqueados. Por exemplo, você pode observar que os threads bloqueados estão executando os seguintes procedimentos armazenados de replicação:
    • O procedimento armazenado sp_MSinsertgenhistory
    • O procedimento armazenado sp_MSgetmakegenerationappl
    • O procedimento armazenado sp_MSenumgenerations
    Observação Você também pode encontrar os threads que são bloqueados usando o Monitor de atividade no SQL Server Management Studio.

    Para obter mais informações sobre como monitorar um problema ao criar um script de bloqueio, clique no número abaixo para ler o artigo na Base de dados de Conhecimento da Microsoft:
    271509Como monitorar o bloqueio no SQL Server 2005 e no SQL Server 2000
  • Um rastreamento do SQL Server, uma transação que é aberta via o procedimento armazenado sp_mergemetadataretentioncleanup ainda pode estar executando, mesmo que o procedimento armazenado que chama o procedimento armazenado sp_mergemetadataretentioncleanup foi concluída. Além disso, você pode localizar um evento de realce na transação. O procedimento armazenado que chama o procedimento armazenado sp_mergemetadataretentioncleanup pode ser um dos seguintes procedimentos armazenados:
    • O procedimento armazenado sp_MSinsertgenhistory
    • O procedimento armazenado sp_MSgetmakegenerationappl
    • O procedimento armazenado sp_MSenumgenerations.
    Por exemplo, você pode localizar registros que ter o seguinte aspecto em rastreamento SQL Server:
    Recolher esta tabelaExpandir esta tabela
    EventClass TextData nome do objeto identificação do banco de dados TransactionID nome do host ClientProcessID ApplicationName SPID
    RPC: concluído Exec sp_MSenumgenerations 1051201, '9B9CC268-A43A-4736-9481-0B99227C3BF0', 1 sp_Msenumgenerations 5 525491216 HostName1896 ApplicationName69
    Recolher esta tabelaExpandir esta tabela
    EventClass TextData nome do objeto identificação do banco de dados TransactionID nome do host ClientProcessID ApplicationName SPID
    SP:StmtCompletedIniciar transaçãosp_mergemetadataretentioncleanup5 525491216 HostName1896 ApplicationName69
    SP:StmtStarting Selecione NULL dbo.MSmerge_contents com (TABLOCK, HOLDLOCK) onde 1 = 2sp_mergemetadataretentioncleanup5 525491216 HostName1896 ApplicationName69
    Recolher esta tabelaExpandir esta tabela
    EventClass TextData nome do objeto identificação do banco de dados TransactionID nome do host ClientProcessID ApplicationName SPID
    Atenção5 525491216 HostName1896 ApplicationName69

Causa

Esse problema ocorre porque o processo de limpeza de metadados de mesclagem não define a opção XACT_ABORT para ativado para a transação. Quando o procedimento armazenado sp_mergemetadataretentioncleanup está sendo executado, se uma exceção inesperada, como um problema de rede ocorre, a transação não é revertida. Quando a transação não é revertida, os recursos de bloqueio são mantidos pela transação não será liberado.

Resolução

Informações sobre o service pack

Para resolver esse problema, obtenha o service pack mais recente para o SQL Server 2005. Para obter mais informações, clique no número abaixo para ler o artigo na Base de dados de Conhecimento da Microsoft:
913089Como obter o service pack mais recente para o SQL Server 2005

Situação

A Microsoft confirmou que este é um problema nos produtos da Microsoft listados na seção "Aplica-se a". Esse problema foi corrigido primeiro no SQL Server 2005 Service Pack 3.

Mais Informações

Para obter mais informações sobre terminologia de atualização de software, clique no número abaixo para ler o artigo na Base de dados de Conhecimento da Microsoft:
824684Descrição da terminologia padrão que é usada para descrever as atualizações de software

Propriedades

ID do artigo: 959023 - Última revisão: terça-feira, 16 de dezembro de 2008 - Revisão: 1.0
A informação contida neste artigo aplica-se a:
  • Microsoft SQL Server 2005 Standard Edition
  • Microsoft SQL Server 2005 Developer Edition
  • Microsoft SQL Server 2005 Enterprise Edition
  • Microsoft SQL Server 2005 Standard X64 Edition
  • Microsoft SQL Server 2005 Standard Edition for Itanium Based Systems
  • Microsoft SQL Server 2005 Enterprise X64 Edition
  • Microsoft SQL Server 2005 Enterprise Edition for Itanium Based Systems
  • Microsoft SQL Server 2005 Workgroup Edition
Palavras-chave: 
kbmt kbsql2005repl kbexpertiseadvanced kbtshoot kbfix kbbug KB959023 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: 959023

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