CORREÇÃO: Erro de "Sintaxe incorreta próximo a palavra-chave 'KEY'" quando você adiciona uma tabela Oracle com coluna principal chamada 'KEY' no SQL Server 2016 e 2017

Aplica-se a: SQL Server 2016 DeveloperSQL Server 2016 EnterpriseSQL Server 2016 Enterprise Core Mais

Sintomas


Suponha que você use Microsoft SQL Server 2016 e 2017 Change Data Capture (CDC) para Oracle por Attunity para replicar as 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 usar o Change Data Capture Designer para Oracle por Attunity para adicionar essa tabela para capturar as alterações, pode ocorrer uma mensagem de erro semelhante à seguinte:

Sintaxe incorreta próxima a palavra-chave 'KEY'.

Sintaxe incorreta próxima a palavra-chave 'with'. Se esta 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 deve ser terminada com um ponto e vírgula.

System.Data.SqlClient.SqlException (0x80131904): Sintaxe incorreta próxima a palavra-chave 'KEY'.

Sintaxe incorreta próxima a palavra-chave 'with'. Se esta 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 deve ser terminada com um ponto e vírgula.

no Attunity.SqlServer.XdbCdcConfig.Core.Managers.CDCManagerImp.ExecuteBatchSqlInTransaction (IList'1 sqlCommands, dbName de cadeia de caracteres)

no Attunity.SqlServer.XdbCdcConfig.Core.Managers.CDCManagerImp.UpdateCaptureTables (CDCInstanceInfo cdcInfoForUpdate)

em Attunity.SqlServer.XdbCdcDesigner.UI.EditCDCInstanceForm.UpdateCaptureTables()

ClientConnectionId:ConnectionID

Error Number:156,State:1,Class:15 

Resolução


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

Atualização cumulativa 6 para SQL Server 2017

Atualização de cumulativo 8 para SQL Server 2016 SP1

Status


A Microsoft confirma que este é um problema em seus produtos listados na seção "Aplica-se a".

Referências


Saiba mais sobre a terminologia usada pela Microsoft para descrever as atualizações de software.