Symptômes
Prenons le scénario suivant :
- Vous créez une clé symétrique à partir d’un fournisseur de gestion de clés extensibles (EKM) dans Microsoft SQL Server 2008, Microsoft SQL Server 2012 ou Microsoft SQL Server 2008 R2.
- Vous chiffrez des données dans une base de données à l’aide de cette clé symétrique.
- Vous migrez les données vers une autre base de données.
- Vous essayez de créer une clé symétrique dans la nouvelle base de données à partir du même fournisseur EKM. Cependant, les données chiffrées dans la nouvelle base de données ne peuvent pas être déchiffrées, car la clé symétrique nouvellement créée a un numéro GUID, lequel diffère de la clé symétrique d’origine qui a chiffré les données dans la base de données d’origine.
- Pour recréer la clé symétrique à l’aide du même GUID que la clé symétrique d’origine, utilisez l’option IDENTITY_VALUE pour spécifier la phrase d’identité utilisée avec la clé symétrique d’origine.
Dans ce cas, un message d’erreur semblable au suivant s’affiche :
Remarque
Msg 102, Niveau 15, État 1, Ligne 3 Syntaxe incorrecte près de « IDENTITY_VALUE »
Résolution
Informations sur les mises à jour cumulatives
Mise à jour cumulative CU 38 pour SQL Server 2012
Le correctif pour résoudre ce problème a été publié pour la première fois dans la mise à jour cumulative 6. Pour plus d’informations sur la procédure d’obtention de ce package de mise à jour cumulative pour SQL Server 2012, cliquez sur le numéro ci-dessous pour afficher l’article correspondant dans la Base de connaissances Microsoft.
2728897 Package de mise à jour cumulative 6 pour SQL Server 2012Remarque Comme les builds sont cumulatives, chaque nouvelle version de correctif contient tous les correctifs logiciels et tous les correctifs de sécurité inclus dans la version précédente du correctif SQL Server 2012. Nous vous recommandons d’envisager d’appliquer la version la plus récente du correctif qui contient ce correctif. Pour plus d’informations, cliquez sur le numéro ci-dessous pour afficher l’article correspondant dans la Base de connaissances Microsoft :
2692828 Les builds SQL Server 2012 publiées après la sortie de SQL Server 2012
Mise à jour cumulative 11 pour SQL Server 2008 R2 Service Pack 1
Le correctif pour résoudre ce problème a été publié pour la première fois dans la mise à jour cumulative 11. Pour plus d’informations sur la procédure d’obtention de ce package de mise à jour cumulative pour SQL Server 2008 R2 Service Pack 1, cliquez sur le numéro ci-dessous pour afficher l’article correspondant dans la Base de connaissances Microsoft.
2812683 Package de mise à jour cumulative 11 pour SQL Server 2008 R2 Service Pack 1Remarque Comme les builds sont cumulatives, chaque nouvelle version contient tous les correctifs logiciels et tous les correctifs de sécurité inclus dans la version précédente du correctif SQL Server 2008 R2 Service Pack 1. Nous vous recommandons d’envisager d’appliquer la version la plus récente du correctif qui contient ce correctif. Pour plus d’informations, cliquez sur le numéro ci-dessous pour afficher l’article correspondant dans la Base de connaissances Microsoft :
2567616 Builds de SQL Server 2008 R2 publiées après SQL Server 2008 R2 Service Pack 1
Mise à jour cumulative 9 pour SQL Server 2008 Service Pack 3 (SP3)
Le correctif pour résoudre ce problème a été publié pour la première fois dans la mise à jour cumulative 9. Pour plus d’informations sur la procédure d’obtention de ce package de mise à jour cumulative pour SQL Server 2008 Service Pack 3, cliquez sur le numéro ci-dessous pour afficher l’article correspondant dans la Base de connaissances Microsoft.
2799883 Package de mise à jour cumulative 9 pour SQL Server 2008 Service Pack 3Remarque Comme les builds sont cumulatives, chaque nouvelle publication contient tous les correctifs logiciels et tous les correctifs de sécurité inclus dans la version précédente du correctif SQL Server 2008 Service Pack 3. Nous vous recommandons d’envisager d’appliquer la version la plus récente du correctif qui contient ce correctif. Pour plus d’informations, cliquez sur le numéro ci-dessous pour afficher l’article correspondant dans la Base de connaissances Microsoft :
2629969 Les builds SQL Server 2008 publiées après SQL Server Service Pack 3 2008
Mise à jour cumulative 4 pour SQL Server 2008 R2 Service Pack 2 (SP2)
Le correctif pour résoudre ce problème a été publié pour la première fois dans la mise à jour cumulative 4. Pour plus d’informations sur la procédure d’obtention de ce package de mise à jour cumulative pour SQL Server 2008 R2 Service Pack 2, cliquez sur le numéro ci-dessous pour afficher l’article correspondant dans la Base de connaissances Microsoft.
2777358 Package de mise à jour cumulative 4 pour SQL Server 2008 R2 Service Pack 2Note Comme les versions sont cumulatives, chaque nouvelle version contient tous les correctifs logiciels et tous les correctifs de sécurité inclus dans la version précédente du correctif SQL Server 2008 R2 Service Pack 2. Nous vous recommandons d’envisager d’appliquer la version la plus récente du correctif qui contient ce correctif. Pour plus d’informations, cliquez sur le numéro ci-dessous pour afficher l’article correspondant dans la Base de connaissances Microsoft :
2730301 Les builds SQL Server 2008 R2 publiées après SQL Server 2008 R2 Service Pack 2
Solution de contournement
Pour contourner ce problème, déchiffrez les données avant de les migrer vers la deuxième base de données. Après avoir migré les données vers l’autre base de données, utilisez une nouvelle clé pour chiffrer les données.
État
Microsoft a confirmé qu’il s’agissait d’un problème dans les produits Microsoft répertoriés dans la section « S’applique à ».