如何在DBeaver中使用SQL Server的Always Encrypted功能及导入密钥?
DBeaver对SQL Server Always Encrypted的支持与配置步骤
DBeaver完全支持SQL Server的Always Encrypted功能,包括Memory Protection Extensions(MPE)安全隔离区内的T-SQL操作,能实现和SSMS一致的核心功能,具体配置步骤如下:
一、密钥导入与连接配置
- 打开DBeaver,新建或编辑SQL Server连接,进入「连接设置」的「SSL/SSH」标签页,找到「Always Encrypted」配置区块
- 勾选「Enable Always Encrypted」启用该功能
- 密钥导入分两种场景:
- 复用Windows证书存储密钥:如果你的列主密钥(CMK)已经存放在本地Windows证书存储(和SSMS使用的是同一套),直接选择「Use Windows Certificate Store」,DBeaver会自动识别可用的CMK
- 手动导入密钥文件:若使用外部密钥文件(如.pfx格式),点击「Import Key」按钮,选择对应文件并输入密钥密码完成导入
- 要启用Memory Protection Extensions,勾选「Enable Secure Enclave」选项即可,DBeaver会自动适配你在SSMS中配置好的安全隔离区环境
二、加密字段的T-SQL操作
配置完成后,直接在SQL编辑器中编写查询语句即可,DBeaver会自动处理加密字段的解密、加密逻辑,和SSMS的行为完全一致。同时支持安全隔离区内允许的T-SQL运算符(如LIKE、比较运算符等),无需额外调整,只要你的SQL Server环境已正确配置MPE即可正常使用。
三、注意事项
- 确保使用DBeaver 7.0及以上版本,更早版本对Always Encrypted的支持存在功能缺失
- 非Windows系统(Linux/macOS)无法直接访问Windows证书存储,需将密钥导出为.pfx文件后手动导入
- 连接数据库的用户需拥有对应密钥的访问权限,权限要求和SSMS完全相同
内容的提问来源于stack exchange,提问作者cindy
相关产品推荐
相关产品推荐

