Sintomas
Considere o seguinte cenário:
-
Você cria 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 esta chave simétrica.
-
Migrar os dados para outro banco de dados.
-
Você tenta criar uma chave simétrica no novo banco de dados a partir 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 é diferente da chave simétrica original que criptografou os dados no banco 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 usada com a chave simétrica original.
Nesse cenário, você recebe uma mensagem de erro semelhante à seguinte:
MSG 102, nível 15, estado 1, sintaxe incorreta na linha 3 ao lado de ' IDENTITY_VALUE '
Resolução
Informações sobre a atualização cumulativa
Atualização cumulativa 6 para 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 do 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 2012Observação 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 incluídas na versão anterior do SQL Server 2012 Fix. Recomendamos que você considere a aplicação do lançamento de correção mais recente que contém esse hotfix. Para obter mais informações, clique no número abaixo para ler os artigos na Base de Dados de Conhecimento Microsoft:
2692828 As compilações do 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 esse problema foi lançada pela primeira vez na atualização cumulativa 11. Para obter mais informações sobre como obter este pacote de atualização cumulativa do SQL Server 2008 R2 Service Pack 1, clique no número abaixo para ler o artigo na base de dados de conhecimento da Microsoft:
2812683 Pacote de atualizações cumulativas 11 para SQL Server 2008 R2 Service Pack 1Observação 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 incluídas no lançamento anterior do SQL Server 2008 R2 Service Pack 1. Recomendamos que você considere a aplicação do lançamento de correção mais recente que contém esse hotfix. Para obter mais informações, clique no número abaixo para ler os artigos na Base de Dados de Conhecimento Microsoft:
2567616 As compilações do SQL Server 2008 R2 que foram 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 esse problema foi lançada pela primeira vez na atualização cumulativa 9. Para obter mais informações sobre como obter este pacote de atualização cumulativa do SQL Server 2008 Service Pack 3, clique no número abaixo para ler o artigo na base de dados de conhecimento da Microsoft:
2799883 Pacote de atualizações cumulativas 9 para SQL Server 2008 Service Pack 3Observação 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 incluídas na versão anterior do SQL Server 2008 Service Pack 3 Fix. Recomendamos que você considere a aplicação do lançamento de correção mais recente que contém esse hotfix. Para obter mais informações, clique no número abaixo para ler os artigos 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 esse problema foi lançada pela primeira vez na atualização cumulativa 4. Para obter mais informações sobre como obter este pacote de atualização cumulativa do SQL Server 2008 R2 Service Pack 2, clique no número abaixo para ler o artigo na base de dados de conhecimento da Microsoft:
2777358 Pacote de atualização cumulativa 4 para SQL Server 2008 R2 Service Pack 2Observação 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 incluídas no lançamento anterior do SQL Server 2008 R2 Service Pack 2. Recomendamos que você considere a aplicação do lançamento de correção mais recente que contém esse hotfix. Para obter mais informações, clique no número abaixo para ler os artigos na Base de Dados de Conhecimento Microsoft:
2730301 Versões do SQL Server 2008 R2 lançadas após a liberação 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 Microsoft listados na seção "Aplicável a".