【发布时间】:2017-05-29 11:29:08
【问题描述】:
我创建了一个表使用:
create table dbo.employee(firstname nvarchar(100) null,lastname nvarchar(100) null)
使用以下方法插入一些示例数据:
insert into dbo.employee values('Sachin','Tendulkar')
insert into dbo.employee values('Rohit','Sharma')
insert into dbo.employee values('Virendra','Sehwag')
insert into dbo.employee values('Irfan','Pathan')
然后我使用始终加密向导使用 SSMS v17 加密此表的 两个 列。现在我正在尝试像这样将名字与姓氏连接起来:
select concat(firstname, lastname) from dbo.employee
它给了我以下错误:
操作数类型冲突:nvarchar(100) 使用 (encryption_type = '确定性',加密算法名称 = 'AEAD_AES_256_CBC_HMAC_SHA_256', column_encryption_key_name = 'SampleDB_CEK', column_encryption_key_database_name = 'SampleDB') 是 与 varchar 不兼容
当我尝试这个时:
select firstname + lastname from dbo.employee
它给出以下错误:
列/变量“名字”的加密方案不匹配, '姓'。列/变量的加密方案是 (encryption_type = 'DETERMINISTIC', encryption_algorithm_name = 'AEAD_AES_256_CBC_HMAC_SHA_256', column_encryption_key_name = 'SampleDB_CEK',column_encryption_key_database_name = 'SampleDB') '1' 行附近的表达式期望它是 (encryption_type = 'PLAINTEXT')(或更弱)。
任何帮助表示赞赏。
【问题讨论】:
-
预计它是 (encryption_type = 'PLAINTEXT')(或更弱)。这些信息还不够吗?
标签: sql-server-2016 always-encrypted