我已备份加密的数据库(对称密钥/证书)和 在不同的服务器上恢复它。
不幸的是,我们遇到了解密问题...希望 有人可以帮忙。
在恢复的数据库中,我可以看到对称密钥和证书 SSMS,但是当我尝试使用cert打开密钥时(开放对称 密钥KeyA解密证书CertB)我得到了 关注非常具有描述性的错误:
Msg 15466,Level 16,State 1,Line 1 解密期间发生错误。
有什么想法吗?
提前致谢。
答案 0 :(得分:3)
“当您还原使用加密功能的数据库时,只需要注意一件事 - 如果数据库主密钥(DbMK)需要服务主密钥(SMK)加密,则需要重新生成此加密请注意,在创建DbMK时默认进行此加密,但如果您希望更严格地控制对加密数据的访问,则可能会有意删除。无论如何,如果您对DbMK进行了此类SMK加密,则需要执行以下步骤:重新生成它如下:
通过密码打开MASTER MASTER KEY DECRYPTION ='password' ALTER MASTER KEY按服务主键添加加密 关闭主键
就是这样 - 数据库加密功能现在应该像备份时一样工作。另请注意,如果您在进行备份的服务器上或其他位置还原数据库,则无关紧要。唯一重要的是这个程序是你知道一个保护DbMK的密码“
答案 1 :(得分:1)
主密钥已由源服务器上的服务主密钥解密,而我们正在解密目标服务器上的带密码的主密钥。我更改了要由服务主密钥解密的主密钥,它现在可以正常工作。
答案 2 :(得分:0)
您可能遇到的问题是服务器的数据库主密钥不同。根据我的理解,其他密钥基于此,并且在尝试解密数据时可能会导致问题。查看encryption hierarchy以获取有关数据加密步骤的说明。
我希望这个答案有所帮助,而且不会太偏离轨道。 :)
答案 3 :(得分:0)
该链接对我有用,请按照2个链接进行备份/恢复
您可以使用UNC从目标服务器进行还原,而不必复制文件。