Sql-Server
關於 SQL Server 2016 Always Encrypted 的說明
我們正計劃從 SQL Server 2008 遷移到 SQL Server 2016。對我們來說,關鍵要求之一是至少要有靜態加密。我們一直在考慮 SQL Server Enterprise,因為它包括 TDE,儘管現在 SQL Server 2016 Standard 包括“始終加密”功能集,我們正在研究它作為 Enterprise 的替代品(為我們節省了一些錢)。儘管我們很難找到一個原始碼來闡明 AE 在 SQL Server 中究竟包含什麼。到目前為止,在我們的研究中,AE 似乎特定於使用證書從客戶端到數據庫的列級加密,儘管我們沒有發現任何提到 AE 可以以與 TDE 類似的方式使用並加密整個數據庫。
有人可以為我們解釋一下嗎?
AE 旨在端到端保護敏感數據。這就是為什麼密鑰由客戶端而不是伺服器持有的原因。在 SQL Server 2016 中,粒度位於列級別。
如果要對整個數據庫進行 AE,則必須一次執行一列。除非數據庫中的所有數據都是敏感的,否則這沒有任何意義並且不適合 AE 場景。理論上可行,但在現實中很少見。您還使您的數據庫在查詢能力方面極為有限,並且性能幾乎不在視窗中。