Sintomas
Considere o seguinte cenário:
-
Você executou uma declaração MERGE que tem uma cláusula DE SAÍDA dentro de um Procedimento Armazenado ou um lote ad hoc Transact-SQL em SQL Server 2016 ou 2017 no Windows.
-
A base de dados de destino utiliza BULK_LOGGED ou MODELO DE RECUPERAÇÃO SIMPLES.
-
Insere uma grande quantidade de dados (por exemplo: cerca de 6.000 linhas) numa tabela noutra base de dados.
Neste cenário, ocorre um erro de afirmação e poderá receber uma mensagem de erro que se assemelhe ao seguinte:
Msg 3624, Nível 20, Estado 1, LineNumber
Uma verificação de afirmação do sistema falhou. Verifique o registo de erros do SQL Server para obter mais detalhes. Normalmente, uma falha de afirmação é causada por um bug de software ou corrupção de dados. Para verificar se existe corrupção na base de dados, considere executar o DBCC CHECKDB. Se concordar em enviar despejos para a Microsoft durante a configuração, será enviada uma mini lixeira para a Microsoft. Uma atualização pode estar disponível da Microsoft no mais recente Pack de Serviços ou num Hotfix de Suporte Técnico.
Resolução
Informação de atualização cumulativa:
Esta emissão é corrigida nas seguintes atualizações cumulativas para o SQL Server:
Atualização Cumulativa 12 para SQL Server 2017
Atualização Cumulativa 4 para SQL Server 2016 SP2
Atualização Cumulativa 13 para SQL Server 2016 Service Pack 1
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:
Informações sobre hotfix a pedido:
Esta emissão é corrigida na seguinte fixação a pedido para o SQL Server:
Estado
A Microsoft confirmou que este problema ocorre nos produtos da Microsoft listados na secção "Aplica-se a".
Referências
Conheça a terminologiaque a Microsoft utiliza para descrever atualizações de software.