如果我在sql server 2005/08中使用ENCRYPTBYCERT加密数据,如果从数据库中删除用于加密的证书会怎样?
数据仍然是加密的,但证书不再存在,因此无法解密。我该怎么办?如何获得原始明文?使用相同的密码等重新创建证书不起作用。
如果不可能并且数据丢失,我该如何防止这种情况发生。
非常感谢。
答案 0 :(得分:1)
证书用于加密对称密钥,而不是数据。见Encryption Hierarchy。在仍然存在使用证书加密的对称密钥时尝试删除证书。
良好做法准则要求为生成的任何加密密钥保留安全备份或托管副本,对称或非对称。这是在意外操作密钥丢失的情况下关心恢复数据的任何商店的正常操作的一部分。