Aplica-se a
SQL Server 2016 SQL Server 2017 on Linux SQL Server 2017 on Windows SQL Server 2016 Service Pack 3 - duplicate (do not use)

Sintomas

Depois de aplicar o SQL Server 2016 Service Pack 3 (SP3) ou SQL Server Atualização Cumulativa 2017 2017 (CU26) e executar um procedimento armazenado de limpeza de controle de alterações, sp_flush_commit_table_on_demand ou sp_flush_CT_internal_table_on_demand, ou se o controle de alterações de limpeza automática for executado, você receberá a seguinte mensagem de erro:

Msg 8114, Level 16, State 1, Procedure sp_add_ct_history, Line LineNumber

Error converting data type numeric to int.

Além disso, os seguintes erros podem ser registrados no log de SQL Server de erro:

DateTime spidNum     Error: 22122, Severity: 16, State: 1.

DateTime spidNum     Change Tracking autocleanup failed on side table of "table_name". If the failure persists, use sp_flush_CT_internal_table_on_demand to clean up expired records from its side table.

Depois de encontrar esse erro, alterar o controle de limpeza automática não pode limpar entradas da tabela lateral ou da tabela syscommittab.

Causa

SQL Server 2016 SP3 e SQL Server 2017 CU26 introduziram uma nova tabela, dbo. MSchange_tracking_history, e um novo procedimento armazenado, sys.sp_add_ct_history, para registrar o histórico de limpeza de controle de alterações. Esta tabela tem uma coluna, cleanup_version, que atualmente é declarada como datatype INT. O sys.sp_add_ct_history procedimento armazenado tem um parâmetro, @cleanup_version, que também é declarado como INT. Em um sistema ocupado que usa o controle de alterações, a versão de limpeza pode cruzar um intervalo de INT em um determinado intervalo. Em seguida, quando a limpeza de controle de alterações for executado, ele tentará inserir um valor BIGINT na coluna INT desta tabela. Isso gera o erro descrito na seção "Sintomas".

Resolução

Esse problema é corrigido nas seguintes atualizações cumulativas para SQL Server:

Atualização cumulativa 27 para SQL Server 2017

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

Atualização cumulativa mais recente para SQL Server 2017

Informações de hotfixes sob demanda:

Esse problema é corrigido no seguinte hotfix sob demanda para SQL Server:

Solução alternativa

Se você encontrar esse problema, reverta para a com build anterior desinstalando o SQL Server 2016 SP3 ou SQL Server 2017 CU26. A Microsoft está investigando ativamente esse problema e atualizará este artigo com mais informações e orientações adicionais quando essas informações estão disponíveis.

Status

A Microsoft confirmou que este é um problema nos produtos Microsoft listados na seção "Aplicável a".

Referências

Saiba mais sobre a terminologia que a Microsoft usa para descrever atualizações de software.

Precisa de mais ajuda?

Quer mais opções

Explore os benefícios da assinatura, procure cursos de treinamento, saiba como proteger seu dispositivo e muito mais.