我们使用 SQL Server 2012 企业版和透明数据加密 (TDE)。Microsoft 有一个命令可以让您更改数据库“ALTER DATABASE ENCRYPTION KEY”的加密。文档页面为您提供了有用的命令,但没有详细说明过程。我把这个问题贴在了页面的底部,但我想我可能会在这里得到更快的答案。
当我运行此命令时,磁盘上的数据是否一直未加密?即此命令是否首先使用旧密钥/证书解密所有数据,然后使用新密钥/证书重新加密,这意味着数据在过程中的某个时刻未加密。或者,这个过程是一个管道,它接收用旧密钥加密的数据并吐出用新密钥加密的数据,并且数据永远不会在任何时候未加密地存储在磁盘上。
奖金问题,在密钥更改期间日志文件会发生什么?
微软文档 https://learn.microsoft.com/en-us/sql/t-sql/statements/alter-database-encryption-key-transact-sql
通常,为了在 Stack 上获得最佳结果,您希望将每个问题分解为自己的问题,但我们开始吧:
问:当我运行此命令时,磁盘上的数据是否一直未加密?
不是通过密钥更改过程,但请注意文件流和复制数据无论如何都不会加密。有关详细信息,请查看联机丛书中关于 TDE 的部分。
问:即此命令是否首先使用旧密钥/证书解密所有数据,然后使用新密钥/证书重新加密,这意味着数据在过程中的某个时刻未加密。
否。有关更多详细信息,请参阅Microsoft 关于加密密钥管理的帖子。
问:奖金问题,在密钥更改期间日志文件会发生什么?
对数据库的更改是记录操作,因此您需要像第一次将 TDE 应用到数据库时那样观察事务日志的大小和速度。