SQL Server 2016中Always Encrypted向导选项未显示的解决请求
解决SSMS中Always Encrypted向导(Encrypt Columns)不显示的问题
我之前帮朋友排查过类似的情况,结合你用的SSMS 17.4 + SQL Server 2016的环境,试试下面这些方法来让Encrypt Columns选项显示出来:
先确认身份验证方式和权限
Always Encrypted向导对连接方式和账号权限有明确要求:- 尽量避免用Azure AD身份验证连接实例,早期SSMS版本在这种连接模式下可能不会加载向导选项,切换到Windows身份验证或SQL Server身份验证试试;
- 确保你的账号拥有数据库
db_owner角色,或者具备ALTER ANY COLUMN MASTER KEY、ALTER ANY COLUMN ENCRYPTION KEY权限,同时对目标表有ALTER权限。
换个路径启动向导
如果右键数据库节点的Tasks菜单里没显示选项,直接右键你要加密的目标表,选择Tasks > Encrypt Columns,这个路径同样能启动向导,很多时候能绕开数据库节点的菜单显示问题。重置SSMS的用户设置
有时候SSMS的UI配置文件损坏会导致菜单选项丢失,重置一下就能恢复:- 关闭所有SSMS窗口;
- 打开命令提示符,运行:
ssms.exe -resetuserdata; - 重新启动SSMS,再去数据库的Tasks菜单里检查。
检查数据库兼容性级别
SQL Server 2016对应的兼容性级别是130,要是数据库级别低于这个,可能会影响向导的加载。运行下面的SQL检查:SELECT name, compatibility_level FROM sys.databases WHERE name = '你的数据库名';如果级别低于130,用这条命令修改:
ALTER DATABASE 你的数据库名 SET COMPATIBILITY_LEVEL = 130;修复SSMS安装
要是上面的方法都没用,可能是SSMS安装组件有缺失:
打开控制面板,找到「Microsoft SQL Server Management Studio 17」,选择「更改 > 修复」,等修复完成后重启SSMS再试。
内容的提问来源于stack exchange,提问作者Dov Miller
相关产品推荐
相关产品推荐

