Мы пытаемся добавить Always зашифрованные в одном из наших приложений, и мы хотели бы, чтобы оно работало с нашим потоком CI.
Мы используем DACPA C deploy с Azure Devops. Все работало до сих пор, но мы сталкиваемся с проблемой с всегда зашифрованным ...
Каждая среда SQL должна иметь другой ключ, который находится в Azure Key Vault. Мы нашли способ автоматизировать это с помощью переменных SSDT ( ref )
CREATE COLUMN MASTER KEY [ResponseKey] WITH (
KEY_STORE_PROVIDER_NAME = N'AZURE_KEY_VAULT',
KEY_PATH = N'[$(OurVariableName)]' );
Когда сравнение между нашей БД и DACPA C выполнено, скрипт всегда содержит Drop + Создать ключ, даже если значение ключа одинаково. Мы попытались вывести сгенерированный скрипт, и наше значение ключа из Azure хранилище ключей находится в разделе переменных скрипта. Как будто сравнение не работает с переменными.
Кто-нибудь сделал эту работу?
Кроме того, когда мы добавляем новый зашифрованный столбец, сгенерированный сценарий всегда завершается ошибкой, заявляя, что в таблице уже есть данные. Это похоже на эту ссылку