我正在阅读一些关于透明数据加密的文档和白皮书。一些文档也提到备份服务主密钥(为了澄清,我不是在谈论数据库主密钥)。我只是不完全理解为什么这是必要的,因为我能够在不使用任何服务主密钥的情况下从服务器 A(备份)到服务器 B(恢复)使用 TDE 加密备份/恢复数据库。
在什么情况下我需要恢复服务主密钥?
我正在阅读一些关于透明数据加密的文档和白皮书。一些文档也提到备份服务主密钥(为了澄清,我不是在谈论数据库主密钥)。我只是不完全理解为什么这是必要的,因为我能够在不使用任何服务主密钥的情况下从服务器 A(备份)到服务器 B(恢复)使用 TDE 加密备份/恢复数据库。
在什么情况下我需要恢复服务主密钥?
如果您谈论的是 SQL 服务主密钥,那么在极少数情况下您确实需要恢复它。
我正在考虑需要恢复 SMK 的几种情况......
不知何故,它被破坏了。
您正在重建 SQL 服务器并计划从备份中恢复每个数据库,包括系统数据库。通常在这种情况下,如果您使用相同的 SQL 服务帐户和密码,您可能也不需要恢复 SMK。
在 TDE 中,您不需要恢复 SMK。正如大家所说,你只需要证书和私钥。您不需要拥有相同的数据库主密钥,当您从备份创建证书时,它会被目标机器的 DMK 加密。
当您将 TDE 数据库移动到新实例时,您需要确保正确的证书(或非对称密钥)也在目标
master
数据库中。如果您未能执行此操作,您将收到以下错误:需要与启用 TDE 的数据库备份一起移动的不是服务主密钥,而是证书。例如,假设您使用
master
名为MyTDECert的证书创建了 DEK(数据库加密密钥) 。如果您的目标实例上没有该证书,您将无法恢复您的数据库。需要备份和恢复 SMK 的一种情况是升级复制拓扑时。