首页 > 解决方案 > 在 Visual Studio 数据库项目中为 Always Encrypted 表设置部署后脚本的加密方案

问题描述

是否可以从 Visual Studio 中的部署后脚本将记录插入到 Always Encrypted 数据库表中?

我正在执行这个 TSQL:

IF (NOT_EXISTS(SELECT 1 FROM MyTable))
BEGIN
  DECLARE @email nvarchar(100) = 'asdf@asdf';
  INSERT INTO MyTable (Email) VALUES (@email);
END

这个 ^ 可以在 SSMS 中工作,但在我从 Visual Studio 发布数据库时却不行。

但是会弹出这个错误:

列/变量“@email”的加密方案不匹配。列/变量的加密方案是 (encryption_type = 'PLAINTEXT') 并且行 '461' 附近的表达式期望它是 (encryption_type = 'DETERMINISTIC', encryption_algorithm_name = 'AEAD_AES_256_CBC_HMAC_SHA_256', column_encryption_key_name = 'MyDb_CEK'

我可以使用内联 TSQL 设置加密方案吗?我可以调整 Visual Studio 上的发布设置以消除此错误吗?

标签: visual-studioencryptionalways-encrypted

解决方案


推荐阅读