KB4057615 - CORREÇÃO: erro "Sintaxe incorreta perto do palavra-chave 'KEY'" ao adicionar uma tabela Oracle com a coluna principal chamada 'KEY' no SQL Server 2016 e 2017

Aplica-se a
SQL Server 2016 Developer - duplicate (do not use) SQL Server 2016 Enterprise - duplicate (do not use) SQL Server 2016 Enterprise Core - duplicate (do not use) SQL Server 2016 Standard - duplicate (do not use) SQL Server 2016 Service Pack 1 SQL Server 2017 Developer on Windows SQL Server 2017 Enterprise on Windows SQL Server 2017 Enterprise Core on Windows SQL Server 2017 Standard on Windows

Sintomas

Suponha que você use o Microsoft SQL Server 2016 e 2017 Change Data Capture (CDC) para Oracle by Attunity para replicar alterações de dados de bancos de dados Oracle para bancos de dados do SQL Server. Uma tabela no Oracle contém uma coluna chamada 'KEY', e essa coluna também é a chave primária da tabela. Nessa situação, quando você usa o Captura Designer de Dados de Alteração para Oracle da Attunity para adicionar essa tabela para capturar alterações, pode ocorrer uma mensagem de erro semelhante à seguinte:

Observação

  • Sintaxe incorreta perto da palavra-chave 'KEY'.
  • Sintaxe incorreta perto da palavra-chave 'com'. Se essa instrução for uma expressão de tabela comum, uma cláusula xmlnamespaces ou uma cláusula de contexto de controle de alterações, a instrução anterior deverá ser encerrada com um ponto e vírgula.
  • System.Data.SqlClient.SqlException (0x80131904): sintaxe incorreta próxima ao palavra-chave 'KEY'.
  • Sintaxe incorreta perto da palavra-chave 'com'. Se essa instrução for uma expressão de tabela comum, uma cláusula xmlnamespaces ou uma cláusula de contexto de controle de alterações, a instrução anterior deverá ser encerrada com um ponto e vírgula.
  • em Attunity.SqlServer.XdbCdcConfig.Core.Managers.CDCManagerImp.ExecuteBatchSqlInTransaction(String dbName, IList'1 sqlCommands)
  • em Attunity.SqlServer.XdbCdcConfig.Core.Managers.CDCManagerImp.UpdateCaptureTables(CDCInstanceInfo cdcInfoForUpdate)
  • em Attunity.SqlServer.XdbCdcDesigner.UI.EditCDCInstanceForm.UpdateCaptureTables()
  • ClientConnectionId:ConnectionID
  • Número do erro:156,Estado:1,Classe:15

Resolução

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

Atualização cumulativa 38 para o SQL Server 2017 (Build 50785)

Atualização cumulativa 8 para o SQL Server 2016 SP1

Sobre atualizações cumulativas para o SQL Server:

Cada nova atualização cumulativa do 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 o SQL Server:

Atualização cumulativa mais recente do SQL Server 2017

Atualização cumulativa mais recente do SQL Server 2016

Status

A Microsoft confirmou que este é um problema nos produtos da Microsoft listados na seção "Aplica-se a".

Referências

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

Aviso de isenção de responsabilidade para informações de terceiros

Os produtos de terceiros mencionados neste artigo são produzidos por empresas independentes da Microsoft. A Microsoft não oferece nenhuma garantia, implícita ou não, do desempenho ou da confiabilidade desses produtos.