2017-06-01 61 views
0

我正在嘗試在sql-azure數據庫中執行列級加密。當加密成功完成時,我觀察到列大小正在被修改;實際上在其他沒有加密的表格列中令人驚訝地減少了。例如:在「table:A」上執行加密,但在「table:B」中,列大小從nvarchar(500)自動減少到nvarchar(100)。執行列級加密後重新調整大小的列(始終加密)

這是什麼原因?

回答

0

你是說你的列沒有加密的數據類型從nvarchar(500)變成nvarchar(100)?這絕對不是預期的行爲。請在加密之前和之後共享模式,以及如何加密您的列。

預期的是在加密的列中存儲值所需的大小的變化。例如,如果SSN列的列存儲11個字符的字符串(CHAR(11)),則在列加密之前,下面的查詢將返回11,並在該列被加密後返回65。

SELECT DATALENGTH從[例](SSN)

您可以找到如何的後列一列的大小發生變化,這裏加密的詳細信息:https://docs.microsoft.com/en-us/sql/relational-databases/security/encryption/always-encrypted-cryptography#ciphertext-length

感謝,

的Jakub