Sintomas
Assuma que utiliza a replicação transacional no Microsoft SQL Server 2008 e que existe uma consulta de atualização em execução na publicação. Quando atualizar o SQL Server para SQL Server 2012 ou SQL Server 2014, e a consulta de atualização não for distribuída antes da atualização, o Agente de Leitor de Registos poderá falhar com o seguinte erro:
<Date> <Time> Editor: {call sp_replcmds (500, 0, 0, 0, 500000)}<Data> <Tempo> Estado: 0, código: 20011, texto: "O processo não pôde executar 'sp_replcmds' em '< Nome do Editor>'.'.<Date> <Time> O processo não pôde executar 'sp_replcmds' em '<Editor Name>'.<Date> <Time> Estado do agente repl: 6<Data> <Hora> Estado: 0, código: 542, texto: "Foi encontrado um valor de data inválida. O valor excede o ano 9999.'.<Date> <Time> Estado: 0, código: 3621, texto: "A declaração foi encerrada.".<Date> <Time> Estado: 0, código: 22037, texto: "O processo não pôde executar 'sp_replcmds' em '<Nome do Editor>'.'.
Mesmo que este problema não tenha ocorrido, os registos atualizados para declarações de atualização ainda podem ser mal interpretados pelo Agente do Leitor de Registos e o seguinte erro pode surgir no Agente de Distribuição:
515 Não é possível inserir o valor NULO na coluna '<Column Name>', tabela '<> '; coluna não permite nulos. A ATUALIZAÇÃO falha.
Nota
-
Diferentes tipos de dados e constrangimentos podem causar diferentes erros a serem reportados, e este problema pode mesmo causar não convergência.
-
O problema ocorre quando faz upgrade do SQL Server 2008 ou SQL Server 2008 R2 para SQL Server 2012 ou SQL Server 2014.
Resolução
Se o erro "515 Não puder inserir o valor NULO na coluna "<Nome da Coluna>', tabela'<nome de tabela>'; coluna não permite nulos. A ATUALIZAÇÃO falha" no Agente de Distribuição ocorreu, deve reiniciar a sua replicação. Este hotfix não corrige este erro. Para evitar este erro, deve desativar o Agente leitor de registo antes da atualização e, em seguida, atualizar todo o caminho para esta correção e, em seguida, reativar o Agente de Leitor de Registo.O problema foi corrigido pela primeira vez na seguinte atualização cumulativa do SQL Server.
Atualização Cumulativa 2 para SQL Server 2012 SP2 /en-us/help/2983175
Atualização Cumulativa 3 para SQL Server 2014 /en-us/help/2984923
Atualização Cumulativa 11 para SQL Server 2012 SP1 /en-us/help/2975396
Cada nova atualização cumulativa do 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. Confira as últimas atualizações cumulativas do SQL Server:
Estado
A Microsoft confirmou que este problema ocorre nos produtos da Microsoft listados na secção "Aplica-se a".