【发布时间】:2020-09-12 18:43:21
【问题描述】:
我需要加密列nvarchar(max),当我编写选择查询时会自动解密列值,就像在 SQL Server 2016 中始终加密一样。
始终加密的 SQL Server 不支持nvarchar(max)。
【问题讨论】:
标签: sql-server encryption
我需要加密列nvarchar(max),当我编写选择查询时会自动解密列值,就像在 SQL Server 2016 中始终加密一样。
始终加密的 SQL Server 不支持nvarchar(max)。
【问题讨论】:
标签: sql-server encryption
NVARCHAR(MAX)。不支持以下数据类型。
使用以下数据类型之一的列:xml、 时间戳/行版本、图像、ntext、文本、sql_variant、hierarchyid、 地理、几何、别名、用户定义类型。
对于数据的加密,您有多种选择:
select empid , SSN , SSNEncrypted ,
convert(varchar,DECRYPTBYKEY(SSNEncrypted) )
[Decrypted SSN] from employees WHERE EMPID = 1
select empid , SSN from employees WHERE EMPID = 1 -- Here, SSN is decrypted on the fly. transparent to user
using (SqlCommand cmd = connection.CreateCommand())
{
cmd.CommandText = @"SELECT empid , SSN from employees WHERE EMPID = 1";
cmd.ExecuteNonQuery();
}
【讨论】: