SQL2016无法创建列主密钥

时间:2016-10-19 14:20:56

标签: sql-server sql-server-2016 always-encrypted

我刚刚安装了SQL 2016标准版,因为我想使用“始终加密”功能。 但是,当我尝试在Security-> Always Encrypted Keys-> Column Master Key下创建一个Column Master Key时,我收到以下错误: enter image description here

productversion:13.0.160.5,productlevel:RTM,版本:标准版64位 有任何想法吗?谢谢!

3 个答案:

答案 0 :(得分:3)

我遇到了同样的问题。我通过从Sql Server 2016更新到Sql Server 2016 SP1来修复它。

以前@@version是:

  • Microsoft SQL Server 2016(RTM-GDR)(KB3194716) - 13.0.1722.0 (X64)2016年9月26日13:17:23版权所有(c)Microsoft Corporation标准版(64位)在Windows 10 Pro 6.3(Build 14393:)

现在@@version是:

  • Microsoft SQL Server 2016( SP1 )(KB3182545) - 13.0.4001.0 (X64)2016年10月28日18:17:30版权所有(c)Microsoft Corporation标准版Windows 10 Pro 6.3(Build 14393:)
  • 上的(64位)

另请注意,我的SSMS完全是最新的。

  • 工具>检查更新>详情 - 13.0.16100.1
  • 同事的SSMS版本略长,甚至看不到加密列的选项。

答案 1 :(得分:0)

问题可能是由恢复SQL2014数据库引起的。我备份了2014年的数据库,然后在2016年将其恢复.SQL可能已将其视为2014架构,因此不支持主列主密钥。 我如何解决它:在SSMS 2016中,为导入的数据库生成.sql脚本(在高级设置中,选择SQL 2016脚本) 安装新的SQL 2016实例(可能不需要测试)并运行生成的.sql,而不是恢复选项

答案 2 :(得分:0)

“ SQL Server 2016(13.x)和SQL数据库中始终提供加密。(在SQL Server 2016(13.x)SP1之前,始终加密仅限于企业版。”

来源:https://docs.microsoft.com/en-us/sql/relational-databases/security/encryption/always-encrypted-database-engine?view=sql-server-2017