我浏览了这个链接:https://msdn.microsoft.com/en-us/library/bb934049(v=sql.110).aspx 是这样,它只加密数据库,表中的列怎么样。
我使用了语法
USE master;
GO
CREATE MASTER KEY ENCRYPTION BY PASSWORD = '<UseStrongPasswordHere>';
go
CREATE CERTIFICATE MyServerCert WITH SUBJECT = 'My DEK Certificate';
go
USE AdventureWorks2012;
GO
CREATE DATABASE ENCRYPTION KEY
WITH ALGORITHM = AES_128
ENCRYPTION BY SERVER CERTIFICATE MyServerCert;
GO
ALTER DATABASE AdventureWorks2012
SET ENCRYPTION ON;
GO
但是我可以看到该列如何使用TDE加密列
我是TDE的新手,请帮助我。
答案 0 :(得分:0)
TDE是一种加密类型,用于加密数据库的数据和日志文件。如果有人设法窃取您的备份文件,他们将无法在没有数据库加密密钥(称为存储在主数据库中的DEK)的情况下对其进行解密。即使您要还原TDE加密数据库的备份,也必须在目标数据库中具有相同的DEK。启用TDE还会加密tempdb。
要获得更清晰的理解,请参阅Microsoft的联机丛书,您也可以使用TechNet中的以下内容。 Transparent Data Encryption (TDE)
在启用任何系统之前,请务必阅读更多内容并了解其效果,优缺点。
答案 1 :(得分:0)
TDE是透明数据加密,即它不会影响连接用户和应用程序所感知的数据库。它的作用是在将数据保存到磁盘之前对其进行加密,并在将数据重新读回工作集时对其进行解密。
如果要对每列加密数据,可以查看名为Always Encrypted(仅适用于v2016及更新版本)的SQL Server功能或CryptDB(研究项目,仅适用于MySQL)或Prisma / DB等外部解决方案。它们提供每列加密,并且与TDE兼容。