Você está offline; aguardando reconexão

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

Extended support for SQL Server 2005 ends on April 12, 2016

If you are still running SQL Server 2005 after April 12, 2016, you will no longer receive security updates and technical support. We recommend upgrading to SQL Server 2014 and Azure SQL Database to achieve breakthrough performance, maintain security and compliance, and optimize your data platform infrastructure. Learn more about the options for upgrading from SQL Server 2005 to a supported version here.

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
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:
    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
    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
    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

Warning: This article has been translated automatically

Propriedades

ID do Artigo: 959023 - Última Revisão: 12/16/2008 01:06:07 - Revisão: 1.0

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

  • kbmt kbsql2005repl kbexpertiseadvanced kbtshoot kbfix kbbug KB959023 KbMtpt
Comentários