我正在将VARCHAR(50) NULL
列加密为随机的。执行此操作时,排序规则从 更改SQL_Latin1_General_CP1_CI_AS
为Latin1_General_BIN2
。
我找不到任何资源来解释为什么会发生这种情况,我想了解排序规则更改的目的是什么。
我正在将VARCHAR(50) NULL
列加密为随机的。执行此操作时,排序规则从 更改SQL_Latin1_General_CP1_CI_AS
为Latin1_General_BIN2
。
我找不到任何资源来解释为什么会发生这种情况,我想了解排序规则更改的目的是什么。
SQL Server 2017 文档:
具有以下特征的列不支持 Always Encrypted:
(...)
具有非 bin2 排序规则的字符串(varchar、char 等)列
(...)
资料来源:始终加密
看起来它在 SQL Server 2019 中发生了变化:
自最初发布以来,Always Encrypted 对排序规则的使用有限制:对于使用确定性加密加密的字符串列,不允许使用非 BIN2 排序规则。此限制也适用于启用 enclave 的字符串列。
对于使用随机加密和启用 enclave 的列加密密钥加密的字符串列,允许使用非 BIN2 排序规则。但是,为此类列启用的唯一新功能是就地加密。要启用丰富的计算(模式匹配、比较操作),您必须确保该列使用 BIN2 排序规则。
使用安全 enclave 配置 Always Encrypted