KB2780146 - CORREÇÃO: Erro "Sintaxe incorreta perto de 'IDENTITY_VALUE'" ao tentar descriptografar dados migrados de outro banco de dados no SQL Server 2008 R2, SQL Server 2012 ou no SQL Server 2008

Aplica-se a
SQL Server 2008 R2 Developer SQL Server 2008 R2 Enterprise SQL Server 2008 Developer SQL Server 2008 Enterprise SQL Server 2012 Developer SQL Server 2012 Enterprise Core SQL Server 2012 Enterprise

Sintomas

Considere o seguinte cenário:

  • Você cria uma chave simétrica de um provedor de EKM (Gerenciamento Extensível de Chaves) no Microsoft SQL Server 2008, Microsoft SQL Server 2012 ou Microsoft SQL Server 2008 R2.
  • Você criptografa alguns dados em um banco de dados usando essa chave simétrica.
  • Você migra os dados para outro banco de dados.
  • Você tenta criar uma chave simétrica no novo banco de dados do mesmo provedor EKM. No entanto, os dados criptografados no novo banco de dados não podem ser descriptografados porque a chave simétrica recém-criada tem um número GUID, e esse número GUID difere da chave simétrica original que criptografou os dados no banco de dados original.
  • Para recriar a chave simétrica usando o mesmo GUID que a chave simétrica original, use a opção IDENTITY_VALUE para especificar a frase de identidade que foi usada com a chave simétrica original.

Além disso, uma mensagem de erro semelhante à seguinte é exibida:

Observação

Msg 102, Nível 15, Estado 1, Linha 3 Sintaxe incorreta perto de 'IDENTITY_VALUE'

Resolução

Informações sobre a atualização cumulativa

Atualização cumulativa 38 para o SQL Server 2012

                
A correção para esse problema foi lançada pela primeira vez na Atualização Cumulativa 6. Para obter mais informações sobre como obter este pacote de atualização cumulativa para o SQL Server 2012, clique no número abaixo para ler o artigo na Base de Dados de Conhecimento Microsoft:

2728897 Pacote de atualizações cumulativas 6 para SQL Server 2012Observação: como os builds são cumulativos, cada nova versão de correção contém todos os hotfixes e todas as correções de segurança incluídas na versão de correção anterior do SQL Server 2012. Recomendamos que você considere aplicar a versão de correção mais recente que contém esse hotfix. Para obter mais informações, clique no número abaixo para ler o artigo da Base de Dados de Conhecimento Microsoft:

2692828 As SQL Server builds de 2012 lançadas após o lançamento do SQL Server 2012

Atualização cumulativa 11 para o SQL Server 2008 R2 Service Pack 1

A correção para esse problema foi lançada pela primeira vez na Atualização Cumulativa 11. Para obter mais informações sobre como obter esse pacote de atualizações cumulativas para o SQL Server 2008 R2 Service Pack 1, clique no número abaixo para ler o artigo na Base de Dados de Conhecimento Microsoft:

2812683 Pacote de atualizações cumulativas 11 para o SQL Server 2008 R2 Service Pack 1Observação: como os builds são cumulativos, cada nova versão de correção contém todos os hotfixes e todas as correções de segurança incluídas na versão anterior de correção do SQL Server 2008 R2 Service Pack 1. Recomendamos que você considere aplicar a versão de correção mais recente que contém esse hotfix. Para obter mais informações, clique no número abaixo para ler o artigo da Base de Dados de Conhecimento Microsoft:

2567616 As compilações do SQL Server 2008 R2 lançadas após o SQL Server 2008 R2 Service Pack 1

Atualização cumulativa 9 para o SQL Server 2008 Service Pack 3 (SP3)

A correção para esse problema foi lançada pela primeira vez na Atualização Cumulativa 9. Para obter mais informações sobre como obter esse pacote de atualizações cumulativas para o SQL Server 2008 Service Pack 3, clique no número abaixo para ler o artigo na Base de Dados de Conhecimento Microsoft:

2799883 Pacote de atualização cumulativa 9 para o SQL Server 2008 Service Pack 3Observação: como os builds são cumulativos, cada nova versão de correção contém todos os hotfixes e todas as correções de segurança incluídas na versão anterior de correção do SQL Server 2008 Service Pack 3. Recomendamos que você considere aplicar a versão de correção mais recente que contém esse hotfix. Para obter mais informações, clique no número abaixo para ler o artigo da Base de Dados de Conhecimento Microsoft:

2629969 As compilações do SQL Server 2008 lançadas após o lançamento do SQL Server 2008 Service Pack 3

Atualização cumulativa 4 para o SQL Server 2008 R2 Service Pack 2 (SP2)

A correção para esse problema foi lançada pela primeira vez na Atualização Cumulativa 4. Para obter mais informações sobre como obter esse pacote de atualizações cumulativas para o SQL Server 2008 R2 Service Pack 2, clique no número abaixo para ler o artigo na Base de Dados de Conhecimento Microsoft:

2777358 Pacote de atualizações cumulativas 4 para o SQL Server 2008 R2 Service Pack 2Observação: como os builds são cumulativos, cada nova versão de correção contém todos os hotfixes e todas as correções de segurança incluídas na versão anterior de correção do SQL Server 2008 R2 Service Pack 2. Recomendamos que você considere aplicar a versão de correção mais recente que contém esse hotfix. Para obter mais informações, clique no número abaixo para ler o artigo da Base de Dados de Conhecimento Microsoft:

2730301 As compilações do SQL Server 2008 R2 lançadas após o lançamento do SQL Server 2008 R2 Service Pack 2

Solução alternativa

Para contornar esse problema, descriptografe os dados antes de migrá-los para o segundo banco de dados. Depois de migrar os dados para o outro banco de dados, use uma nova chave para criptografar os dados.

Status

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