Я использую Java с Spring Framework, подключенным к базе данных SQL через драйвер Microsoft JDBC.
В одной из таблиц базы данных есть столбец, зашифрованный с помощью постоянного шифрования Azure. Недавно я изменил ключ шифрования столбца (расшифровал данные со старым ключом, зашифровал данные с новым ключом), и хотя служба Java использует клиент, прошедший проверку подлинности для доступа к обоим ключам шифрования столбца, я получаю сообщение в приложении Java :
Ошибка SQL: 33294, SQLState: S0004
com.microsoft.sqlserver.jdbc.SQLServerException: некоторые параметры или столбцы пакета требуют шифрования, но не удается найти соответствующий ключ шифрования столбца. Используйте хранимую процедуру sp_refresh_parameter_encryption, чтобы обновить метаданные параметров модуля.
Я попытался повторно развернуть службу, но безуспешно. Я также пытался запустить процедуру sp_refresh_parameter_encryption
, но для нее требуется модуль или хранимая процедура в качестве параметра, и я не вижу какой-либо очевидной хранимой процедуры, которую можно было бы передать ей.