SQL Server 2005 - 在其他服务器上还原加密的数据库

时间:2008-10-16 19:30:12

标签: sql-server sql-server-2005 encryption symmetric-key

我已备份加密的数据库(对称密钥/证书)和 在不同的服务器上恢复它。

不幸的是,我们遇到了解密问题...希望 有人可以帮忙。

在恢复的数据库中,我可以看到对称密钥和证书 SSMS,但是当我尝试使用cert打开密钥时(开放对称 密钥KeyA解密证书CertB)我得到了 关注非常具有描述性的错误:

Msg 15466,Level 16,State 1,Line 1 解密期间发生错误。

有什么想法吗?

提前致谢。

4 个答案:

答案 0 :(得分:3)

http://blogs.msdn.com/lcris/archive/2007/11/16/sql-server-2005-restoring-the-backup-of-a-database-that-uses-encryption.aspx回答这个问题:

“当您还原使用加密功能的数据库时,只需要注意一件事 - 如果数据库主密钥(DbMK)需要服务主密钥(SMK)加密,则需要重新生成此加密请注意,在创建DbMK时默认进行此加密,但如果您希望更严格地控​​制对加密数据的访问,则可能会有意删除。无论如何,如果您对DbMK进行了此类SMK加密,则需要执行以下步骤:重新生成它如下:

通过密码打开MASTER MASTER KEY DECRYPTION ='password' ALTER MASTER KEY按服务主键添加加密 关闭主键

就是这样 - 数据库加密功能现在应该像备份时一样工作。另请注意,如果您在进行备份的服务器上或其他位置还原数据库,则无关紧要。唯一重要的是这个程序是你知道一个保护DbMK的密码“

答案 1 :(得分:1)

主密钥已由源服务器上的服务主密钥解密,而我们正在解密目标服务器上的带密码的主密钥。我更改了要由服务主密钥解密的主密钥,它现在可以正常工作。

答案 2 :(得分:0)

您可能遇到的问题是服务器的数据库主密钥不同。根据我的理解,其他密钥基于此,并且在尝试解密数据时可能会导致问题。查看encryption hierarchy以获取有关数据加密步骤的说明。

我希望这个答案有所帮助,而且不会太偏离轨道。 :)

答案 3 :(得分:0)

http://social.msdn.microsoft.com/forums/en-US/sqlsecurity/thread/34c9c35c-2d08-4873-abfd-aae40240dfe7/?prof=required

该链接对我有用,请按照2个链接进行备份/恢复

您可以使用UNC从目标服务器进行还原,而不必复制文件。