Sintomas
Tenha em conta o seguinte cenário:
- Criar uma chave simétrica de um provedor de gerenciamento de chaves extensível (EKM) 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.
- Migrar os dados para outra base de dados.
- Você tenta criar uma chave simétrica no novo banco de dados a partir do mesmo provedor de EKM. No entanto, os dados encriptados na nova base de dados não podem ser desencriptados porque a chave simétrica recentemente criada tem um número GUID e este número GUID difere da chave simétrica original que encriptava os dados na base de dados original.
- Para recriar a chave simétrica usando o mesmo GUID da 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.
Nesse cenário, você recebe uma mensagem de erro semelhante à seguinte:
Nota
Msg 102, Nível 15, Estado 1, Linha 3 Sintaxe incorreta perto de 'IDENTITY_VALUE'
Resolução
Informações de atualização cumulativa
Atualização cumulativa 6 para SQL Server 2012
A correção para este problema foi lançada pela primeira vez na Atualização Cumulativa 6. Para obter mais informações sobre como obter esse 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 da Microsoft:
2728897 Pacote de atualizações cumulativas 6 para SQL Server 2012Nota Como as compilações são cumulativas, cada nova versão de correção contém todos os hotfixes e todas as correções de segurança que foram incluídas com o anterior SQL Server 2012 corrigir lançamento. Recomendamos que você considere aplicar o lançamento de correção mais recente que contém esse hotfix. Para mais informações, clique no número de artigo que se segue para ver o artigo na Base de Dados de Conhecimento Microsoft:
2692828 As compilações SQL Server 2012 lançadas após o lançamento do SQL Server 2012
Atualização cumulativa 11 para SQL Server 2008 R2 Service Pack 1
A correção para este problema foi lançada pela primeira vez na Atualização Cumulativa 11. Para mais informações sobre como obter este pacote de actualização cumulativa para o SQL Server 2008 R2 Service Pack 1, clique no número de artigo que se segue para ver o artigo na Base de Dados de Conhecimento Microsoft:
2812683 Pacote de atualizações cumulativas 11 para SQL Server 2008 R2 Service Pack 1Nota Como as compilações são cumulativas, cada nova versão de correção contém todos os hotfixes e todas as correções de segurança que foram incluídas com o anterior SQL Server 2008 R2 Service Pack 1 fix release. Recomendamos que você considere aplicar o lançamento de correção mais recente que contém esse hotfix. Para mais informações, clique no número de artigo que se segue para ver o artigo na Base de Dados de Conhecimento Microsoft:
2567616 As compilações do SQL Server 2008 R2 lançadas após o lançamento do SQL Server 2008 R2 Service Pack 1
Atualização cumulativa 9 para SQL Server 2008 Service Pack 3 (SP3)
A correção para este problema foi lançada pela primeira vez na Atualização Cumulativa 9. Para mais informações sobre como obter este pacote de actualização cumulativa para o SQL Server 2008 Service Pack 3, clique no número de artigo que se segue para ver o artigo na Base de Dados de Conhecimento Microsoft:
2799883 Pacote de atualizações cumulativas 9 para SQL Server 2008 Service Pack 3Nota Como as compilações são cumulativas, cada nova versão de correção contém todos os hotfixes e todas as correções de segurança que foram incluídas com o anterior SQL Server 2008 Service Pack 3 corrigir lançamento. Recomendamos que você considere aplicar o lançamento de correção mais recente que contém esse hotfix. Para mais informações, clique no número de artigo que se segue para ver o artigo na 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 SQL Server 2008 R2 Service Pack 2 (SP2)
A correção para este problema foi lançada pela primeira vez na Atualização Cumulativa 4. Para mais informações sobre como obter este pacote de actualização cumulativa para o SQL Server 2008 R2 Service Pack 2, clique no número de artigo que se segue para ver o artigo na Base de Dados de Conhecimento Microsoft:
2777358 Pacote de atualizações cumulativas 4 para SQL Server 2008 R2 Service Pack 2Nota Como as compilações são cumulativas, cada nova versão de correção contém todos os hotfixes e todas as correções de segurança que foram incluídas com o SQL Server 2008 R2 Service Pack 2 anterior. Recomendamos que você considere aplicar o lançamento de correção mais recente que contém esse hotfix. Para mais informações, clique no número de artigo que se segue para ver o artigo na Base de Dados de Conhecimento Microsoft:
2730301 As compilações SQL Server 2008 R2 lançadas após o lançamento do SQL Server 2008 R2 Service Pack 2
Solução
Para contornar esse problema, descriptografe os dados antes de migrá-los para o segundo banco de dados. Depois de migrar os dados para a outra base de dados, utilize uma nova chave para encriptar os dados.
Estado
A Microsoft confirmou que se trata de um problema nos produtos Microsoft listados na secção "Aplica-se a".