公平警告,我对数据库加密非常陌生。现在我们在服务器之间备份/恢复数据库的过程中使用以下语句交换证书:
ALTER DATABASE ENCRYPTION KEY REGENERATE
WITH ALGORITHM = AES_256
ENCRYPTION BY SERVER CERTIFICATE....
这工作得很好,但问题是通过此声明更改证书所需的时间。我注意到更改大于 100GB 的数据库的证书可能需要一个多小时。
是否有更快的方法来更改任何人都知道的 TDE 证书?
如果您确实需要更改执行加密的证书(它保护数据),那么唯一更快的方法是获得更快的磁盘子系统、支持 AESNI 的新主板/CPU,并升级到 SQL Server 2016。
但是,如果您不需要轮换实际的加密密钥,而是轮换其中一个保护密钥(在本例中为服务器证书,而不是 DEK),则这是一个非常短的元数据操作,主要但不是所有元数据操作都可以通过
ALTER DATABASE ENCRYPTION KEY [Blah] ENCRYPTION BY SERVER CERTIFICATE [Blah2]
. 这将更改用于保护 DEK 的服务器证书,这将非常快,因为物理数据不需要使用新的 DEK 再次解密和加密。