症状
请考虑以下情况:
-
从 Microsoft SQL Server 2008、Microsoft SQL Server 2012 或 Microsoft SQL Server 2008 R2 的可扩展密钥管理(EKM)提供程序创建对称密钥。
-
通过使用此对称密钥来加密数据库中的一些数据。
-
将数据迁移到另一个数据库。
-
尝试使用同一 EKM 提供程序在新数据库中创建对称密钥。 但是,无法对新数据库中的加密数据进行解密,因为新创建的对称密钥具有一个 GUID 编号,并且此 GUID 编号与加密原始数据库中的数据的原始对称密钥不同。
-
若要通过使用与原始对称密钥相同的 GUID 重新创建对称密钥,请使用 IDENTITY_VALUE 选项指定与原始对称密钥一起使用的标识短语。
在这种情况下,你会收到类似于以下内容的错误消息:
消息102、级别15、状态1、第3行 "IDENTITY_VALUE" 附近的语法不正确
解决方案
累积更新信息
SQL Server 2012 累积更新6
此问题的修补程序首次在累积更新6中发布。有关如何为 SQL Server 2012 获取此累积更新包的详细信息,请单击下面的文章编号,以查看 Microsoft 知识库中相应的文章:
2728897 SQL Server 2012 累积更新包6注意 由于这些版本是累积的,因此每个新的修复版本都包含以前的 SQL Server 2012 修复版本附带的所有修补程序和所有安全修补程序。 我们建议你考虑应用包含此修补程序的最新修复版本。 有关更多信息,请单击下面的文章编号,以查看 Microsoft 知识库中相应的文章:
2692828 在 SQL Server 2012 发布后发布的 SQL Server 2012 版本
SQL Server 2008 R2 Service Pack 1 的累积更新11
此问题的修补程序首次在累积更新11中发布。有关如何为 SQL Server 2008 R2 Service Pack 1 获取此累积更新包的详细信息,请单击下面的文章编号,以查看 Microsoft 知识库中相应的文章:
2812683 SQL Server 2008 R2 Service Pack 1 的累积更新包11注意 由于这些版本是累积的,因此每个新的修复版本都包含了以前的 SQL Server 2008 R2 Service Pack 1 修复版本附带的所有修补程序和所有安全修补程序。 我们建议你考虑应用包含此修补程序的最新修复版本。 有关更多信息,请单击下面的文章编号,以查看 Microsoft 知识库中相应的文章:
2567616 在发布 SQL Server 2008 R2 Service Pack 1 之后发布的 SQL Server 2008 R2 版本
累积更新9 SQL Server 2008 Service Pack 3 (SP3)
此问题的修补程序首次在累积更新9中发布。有关如何获取此累积更新包的 SQL Server 2008 Service Pack 3 的详细信息,请单击下面的文章编号,以查看 Microsoft 知识库中相应的文章:
2799883 SQL Server 2008 的累积更新包9服务包3注意 由于这些版本是累积的,因此每个新的修复版本都包含以前的 SQL Server 2008 Service Pack 3 修复版本附带的所有修补程序和所有安全修补程序。 我们建议你考虑应用包含此修补程序的最新修复版本。 有关更多信息,请单击下面的文章编号,以查看 Microsoft 知识库中相应的文章:
2629969 发布 SQL server 2008 Service Pack 3 后发布的 SQL Server 2008 版本
累积更新4 SQL Server 2008 R2 Service Pack 2 (SP2)
此问题的修补程序首次在累积更新4中发布。有关如何为 SQL Server 2008 R2 Service Pack 2 获取此累积更新包的详细信息,请单击下面的文章编号,以查看 Microsoft 知识库中相应的文章:
2777358 SQL Server 2008 R2 Service Pack 2 的累积更新程序包4注意 由于这些版本是累积的,因此每个新的修复版本都包含了以前的 SQL Server 2008 R2 Service Pack 2 修复版本附带的所有修补程序和所有安全修补程序。 我们建议你考虑应用包含此修补程序的最新修复版本。 有关更多信息,请单击下面的文章编号,以查看 Microsoft 知识库中相应的文章:
2730301 发布 SQL Server 2008 R2 Service Pack 2 后发布的 SQL Server 2008 R2 版本
解决方法
要解决此问题,请在将数据迁移到第二个数据库之前对其进行解密。 将数据迁移到其他数据库之后,请使用新密钥加密数据。
状态
Microsoft 已确认这是在“适用范围”部分中列出的 Microsoft 产品存在的问题。