Warning: file_get_contents(/data/phpspider/zhask/data//catemap/7/sql-server/22.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Sql server SQL2016无法创建列主密钥_Sql Server_Sql Server 2016_Always Encrypted - Fatal编程技术网

Sql server SQL2016无法创建列主密钥

Sql server SQL2016无法创建列主密钥,sql-server,sql-server-2016,always-encrypted,Sql Server,Sql Server 2016,Always Encrypted,我刚刚安装了SQL 2016标准版,因为我想使用“始终加密”功能。 但是,当我尝试在Security->Always Encrypted Keys->Column Master Key下创建列主密钥时,出现以下错误: 产品版本:13.0.160.5,产品级别:RTM,版本:标准版64位 有什么想法吗?谢谢 问题可能是由恢复SQL2014数据库引起的。我备份了2014年的数据库,然后在2016年进行了恢复。SQL可能将其视为2014模式,因此不支持列主密钥。 解决方法:在SSMS 2016中,在

我刚刚安装了SQL 2016标准版,因为我想使用“始终加密”功能。 但是,当我尝试在Security->Always Encrypted Keys->Column Master Key下创建列主密钥时,出现以下错误:

产品版本:13.0.160.5,产品级别:RTM,版本:标准版64位
有什么想法吗?谢谢

问题可能是由恢复SQL2014数据库引起的。我备份了2014年的数据库,然后在2016年进行了恢复。SQL可能将其视为2014模式,因此不支持列主密钥。 解决方法:在SSMS 2016中,在高级设置中为导入的数据库生成.sql脚本,选择sql 2016脚本
安装一个可能不需要的新SQL 2016实例,它将测试并运行生成的.SQL,而不是还原选项,我遇到了相同的问题。我通过从Sql Server 2016更新到修复了它

以前的@版本是:

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: 现在@版本是:

Microsoft SQL Server 2016 SP1 KB3182545-13.0.4001.0 X64 2016年10月28日18:17:30版权所有c Microsoft Corporation标准版64位Windows 10 Pro 6.3 Build 14393: 还要注意,我的SSMS是完全最新的

工具>检查更新>详细信息-13.0.16100.1 同事的SSM版本稍旧,甚至看不到对列进行加密的选项。
SQL Server 2016 13.x和SQL数据库中提供了“始终加密”。在SQL Server 2016 13.x SP1之前,“始终加密”仅限于企业版


来源:

您是在使用SSMS 2016并针对非2016实例运行查询,还是相反?您好,我使用的是SQL Management Studio 2016和SQL Server 2016,标准版运行SELECT@@版本并将其粘贴到您的帖子中以确认。Microsoft SQL Server 2016 RTM-13.0.1601.5 X64 2016年4月29日23:23:58版权c Microsoft Corporation Standard Edition 64位Windows 10 Pro 6.3 Build 10586:管理程序执行您的常规步骤,到达您将要点击ok来生成键的点,但是转到提示符窗口的顶部,并将命令脚本输出到一个新窗口。运行TSQL,看看是否仍然有错误。应该将其标记为答案,问题是您的SSM足够新,可以支持始终加密,但您的SQL server版本不支持。在哪里可以找到高级设置?@DovMiller右键单击要生成脚本的数据库->任务->生成scirpts->设置脚本选项。在高级选项窗口中有一个高级按钮->选择sql版本脚本