KB2979121 - CORREÇÃO: Log Reader Agent falha quando você atualiza do SQL Server 2008 para SQL Server 2012 ou SQL Server 2014

Aplica-se A
SQL Server 2012 Developer SQL Server 2012 Enterprise SQL Server 2012 Standard SQL Server 2014 Developer - duplicate (do not use) SQL Server 2014 Enterprise - duplicate (do not use) SQL Server 2014 Standard - duplicate (do not use)

Sintomas

Suponha que você use replicação transacional no Microsoft SQL Server 2008 e há uma consulta atualização em execução na publicação. Quando você atualiza o SQL Server para o SQL Server 2012 ou SQL Server 2014 e a consulta atualização não é distribuída antes da atualização, o Log Reader Agent pode falhar com o seguinte erro:

Nota

<Date><Time> Publisher: {call sp_replcmds (500, 0, 0, , 0, 500000)}
<Date><Time> Status: 0, código: 20011, texto: 'O processo não pôde executar 'sp_replcmds' no '<Nome do editor>'.'.
<Data><Hora> O processo não pôde executar 'sp_replcmds' em '<Nome do editor>'.
<Data><Hora> Estado do Agente Repl: 6
<Date><Time> Status: 0, código: 542, texto: 'Foi encontrado um valor datetime inválido. O valor excede o ano 9999.».
<Date><Time> Status: 0, código: 3621, texto: 'A declaração foi encerrada.'.
<Date><Time> Status: 0, código: 22037, texto: 'O processo não pôde executar 'sp_replcmds' em '<Nome do editor>'.'.

Mesmo que esse problema não tenha acontecido, os registros de log atualizados para instruções de atualização ainda podem ser mal interpretados pelo Log Reader Agent e o seguinte erro pode surgir no Distribution Agent:

Nota

515 Não é possível inserir o valor NULL na coluna '<Nome da Coluna>', tabela '<Nome> da Tabela'; a coluna não permite nulos. A ATUALIZAÇÃO falha.

Nota

  • Diferentes tipos de dados e restrições podem causar erros diferentes a serem relatados, e esse problema até pode causar a não convergência.
  • O problema ocorre quando atualiza do SQL Server 2008 ou SQL Server 2008 R2 para o SQL Server 2012 ou SQL Server 2014.

      

Resolução

Se o erro "515 Não é possível inserir o valor NULL na coluna '<Nome> da Coluna', tabela '<Nome> da Tabela'; coluna não permite nulos. UPDATE fails" no Distribution Agent ocorreu, deve reinicializar a replicação. Esta correção não corrige este erro. Para evitar este erro, deve desativar o Agente Leitor de Registos antes da atualização, atualizar até ao fim para esta correção e, em seguida, reativar o Agente Leitor de Logs.
O problema foi corrigido na atualização cumulativa seguinte do SQL Server.

Atualização Cumulativa 2 para SQL Server 2012 SP2 /en-us/help/2983175

Atualização cumulativa 3 para SQL Server 2014 /pt-pt/help/2984923

Atualização cumulativa 11 para SQL Server 2012 SP1 /en-us/help/2975396

Acerca das atualizações cumulativas para SQL Server

Cada nova atualização cumulativa para SQL Server contém todos os hotfixes e todas as correções de segurança que foram incluídas com a atualização cumulativa anterior. Consulte as atualizações cumulativas mais recentes para SQL Server:

      

Estado

A Microsoft confirmou que se trata de um problema nos produtos Microsoft listados na secção "Aplica-se a".