Ich habe eine Tabelle erstellt:SQL Server 2016 - Ist es möglich, zwei nvarchar immer verschlüsselte Spalten zu verketten?
create table dbo.employee(firstname nvarchar(100) null,lastname nvarchar(100) null)
Eingefügt einige Beispieldaten:
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')
Dann habe ich immer verschlüsselt Assistenten beide Spalten dieser Tabelle mit SSMS v17 zu verschlüsseln. Und jetzt versuche ich, Vorname mit Nachnamen so verketten:
select concat(firstname, lastname) from dbo.employee
Und es gibt mir unter Fehler:
Operand type clash: nvarchar(100) encrypted with (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') is incompatible with varchar
Wenn ich versuche dies:
select firstname + lastname from dbo.employee
Es gibt folgende Fehler:
Encryption scheme mismatch for columns/variables 'firstname', 'lastname'. The encryption scheme for the columns/variables is (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') and the expression near line '1' expects it to be (encryption_type = 'PLAINTEXT') (or weaker).
Jede Hilfe wird geschätzt.
erwartet sie (encryption_type = 'KLARTEXT') (oder schwächer) zu sein. Ist diese Information nicht genug? – user6144226