【发布时间】:2018-12-11 15:01:54
【问题描述】:
我正在使用带有 Spring Framework 的 Java,通过 Microsoft JDBC Driver 连接到 SQL 数据库。
数据库中的一个表具有使用 Azure Always Encrypted 加密的列。我最近更改了列的加密密钥(用旧密钥解密数据,用新密钥加密数据),即使 Java 服务使用经过身份验证的客户端访问两个列加密密钥,我还是在 Java 应用程序中收到消息:
SQL 错误:33294,SQLState:S0004
com.microsoft.sqlserver.jdbc.SQLServerException: 一些参数或 该批次的列需要加密,但相应的 找不到列加密密钥。采用 sp_refresh_parameter_encryption 刷新模块参数 元数据。
我尝试重新部署该服务,但没有成功。我也尝试运行过程sp_refresh_parameter_encryption,但它需要一个模块或一个存储过程作为参数,我没有看到任何明显的存储过程可以提供给它。
【问题讨论】:
标签: java sql-server spring mssql-jdbc always-encrypted