管理员能否使用 SQL Server 2016 始终加密功能查看加密数据?

Can an admin see encrypted data with SQL Server 2016 always encrypted feature?

这看起来是一个非常不错的功能,但我的理解是只有应用程序才能看到列的未加密文本,对吗?

具有SQL查询的管理员是否可以看到未加密的数据?还是必须始终来自应用程序?

如果是,你能post一个小查询来显示这个

答案是即使您是数据管理员也看不到加密数据。管理员不应有权访问列主密钥(证书)。您可以从使用 SSMS 或 .Net 应用程序安装证书的客户端计算机访问它。请检查 MSDN blog

The new security layer addresses that vulnerability by keeping the data encrypted even during transactions and computations, and by only giving the client keys to decrypt it. That means that if anyone else, including a database or system administrator, tries to access that client’s database, the credit card information or other sensitive data would just look like gibberish.

如果您是 admin/DBA,您可以访问明文数据,前提是您有权访问列主密钥。要 select 和解密数据,您可以使用支持 Always Encrypted 的任何版本的 SSMS。从 SSMS 17.0 开始,您还可以按加密列插入、更新和筛选。详情请见: