执行列级加密后重新调整列(始终加密)

时间:2017-06-01 05:09:04

标签: sql azure encryption azure-sql-database always-encrypted

我正在尝试在sql-azure数据库中进行列级加密。加密成功完成后,我发现列大小正在被修改;实际上,在其他未完全加密的表格列中,实际上减少了。

示例:在"表格上执行加密:A",但在"表格中:B"列大小从nvarchar(500)自动减少到nvarchar(100)。

这是什么原因?

1 个答案:

答案 0 :(得分:1)

您是说列的数据类型(您没有加密)从nvarchar(500)更改为nvarchar(100)?这绝对不是预期的行为。请在加密前后共享架构,以及如何加密列。

预期更改在加密列中存储值所需的大小。例如,如果SSN列列存储11个字符的字符串(CHAR(11)),则下面的查询将在列加密之前返回11,并且在列加密后它将返回65。

从[患者]中选择DATALENGTH(SSN)

您可以在此处列出加密列后列的大小更改的详细信息:https://docs.microsoft.com/en-us/sql/relational-databases/security/encryption/always-encrypted-cryptography#ciphertext-length

谢谢,

的Jakub