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

问题描述 投票:3回答:4

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

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

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

消息15466,级别16,状态1,行1解密期间发生错误。

有任何想法吗?

提前致谢。

sql-server sql-server-2005 encryption symmetric-key
4个回答
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加密,则重新生成它的步骤是下列:

通过密码打开主密钥解密='密码'更改主密钥通过服务主密钥关闭主密钥加密

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


1
投票

主密钥由源服务器上的服务主密钥解密,我们在目标上使用密码解密主密钥。我将主密钥更改为由服务主密钥解密,现在它正在工作。


0
投票

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

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


0
投票

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

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

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

© www.soinside.com 2019 - 2024. All rights reserved.