CORRECÇÃO: Um problema de bloqueio ocorre quando executa o agente de intercalação em SQL Server 2005

Traduções de Artigos Traduções de Artigos
Artigo: 959023 - Ver produtos para os quais este artigo se aplica.
Expandir tudo | Reduzir tudo

Nesta página

Sintomas

No Microsoft SQL Server 2005, configurar uma publicação de impressão em série. Quando executa o agente de intercalação, ocorre um problema de bloqueio. Quando monitoriza o problema de bloqueio, encontrar os seguintes comportamentos:
  • Na saída do script de bloqueio que criou para monitorizar este problema, alguns threads que estiverem a executar procedimentos armazenado de replicação são bloqueadas. Por exemplo, poderá notar que os threads bloqueados estão a executar os procedimentos armazenado de replicação:
    • O procedimento armazenado sp_MSinsertgenhistory
    • O procedimento armazenado sp_MSgetmakegenerationappl
    • O procedimento armazenado sp_MSenumgenerations
    Nota Também pode encontrar os threads bloqueados utilizando o Monitor de actividade no SQL Server Management Studio.

    Para obter mais informações sobre como monitorizar um problema ao criar um script de bloqueio, clique no número de artigo que se segue para visualizar o artigo na Microsoft Knowledge Base:
    271509Como monitorar o bloqueio no SQL Server 2005 e no SQL Server 2000
  • Num rastreio do SQL Server, uma transacção que é aberta através do procedimento armazenado sp_mergemetadataretentioncleanup poderá ainda estar em execução, mesmo que o procedimento armazenado que chama o procedimento armazenado sp_mergemetadataretentioncleanup foi concluída. Além disso, poderá encontrar um evento de atenção na transacção. O procedimento armazenado que chama o procedimento armazenado sp_mergemetadataretentioncleanup poderá ser um dos seguintes procedimentos armazenados:
    • O procedimento armazenado sp_MSinsertgenhistory
    • O procedimento armazenado sp_MSgetmakegenerationappl
    • O sp_MSenumgenerations procedimento armazenado.
    Por exemplo, pode localizar registos semelhantes ao seguinte num rastreio do SQL Server:
    Reduzir esta tabelaExpandir esta tabela
    EventClass TextData nome de objecto DBID TransactionID nome do anfitrião ClientProcessID ApplicationName SPID
    RPC: concluído exec sp_MSenumgenerations 1051201, '9B9CC268-A43A-4736-9481-0B99227C3BF0', 1 sp_Msenumgenerations 5 525491216 HostName1896 ApplicationName69
    Reduzir esta tabelaExpandir esta tabela
    EventClass TextData nome de objecto DBID TransactionID nome do anfitrião ClientProcessID ApplicationName SPID
    SP:StmtCompletediniciar transacçãosp_mergemetadataretentioncleanup5 525491216 HostName1896 ApplicationName69
    SP:StmtStarting Selecione NULL dbo.MSmerge_contents com (TABLOCK, HOLDLOCK) onde 1 = 2sp_mergemetadataretentioncleanup5 525491216 HostName1896 ApplicationName69
    Reduzir esta tabelaExpandir esta tabela
    EventClass TextData nome de objecto DBID TransactionID nome do anfitrião ClientProcessID ApplicationName SPID
    Atenção5 525491216 HostName1896 ApplicationName69

Causa

Este problema ocorre porque o processo de limpeza de metadados de impressão em série não define a opção XACT_ABORT para activada para a transacção. Quando o procedimento armazenado sp_mergemetadataretentioncleanup está em execução, se uma excepção inesperada como ocorre um problema de rede, a transacção não é revertida. Quando a transacção não é anulada, os recursos de bloqueio são mantidos pela transacção não é libertada.

Resolução

Informações sobre Service Packs

Para resolver este problema, obtenha o service pack mais recente para o SQL Server 2005. Para obter mais informações, clique no número de artigo que se segue para visualizar o artigo na Microsoft Knowledge Base:
913089Como obter o service pack mais recente para o SQL Server 2005

Ponto Da Situação

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

Mais Informação

Para obter mais informações sobre a terminologia de actualização de software, clique no número de artigo que se segue para visualizar o artigo na Microsoft Knowledge Base:
824684Descrição da terminologia padrão utilizada para descrever actualizações de software da Microsoft

Propriedades

Artigo: 959023 - Última revisão: 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 2005 Server Enterprise
  • 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 2005 Server Workgroup
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 revisto ou traduzido por humanos. A Microsoft tem artigos traduzidos por aplicações (MT) e artigos traduzidos por tradutores profissionais. O objectivo é simples: oferecer em Português a totalidade dos artigos existentes na base de dados do suporte. Sabemos no entanto que a tradução automática não é sempre perfeita. Esta pode conter erros de vocabulário, sintaxe ou gramática? erros semelhantes aos que um estrangeiro realiza ao falar em Português. A Microsoft não é responsável por incoerências, erros ou estragos realizados na sequência da utilização dos artigos MT por parte dos nossos clientes. A Microsoft realiza actualizações frequentes 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