我已经备份了一个加密的数据库(对称 key /证书)和
在不同的服务器上恢复它。
不幸的是,我们在解密方面遇到了问题......希望
有人可以帮忙。
在恢复的数据库中,我可以看到对称 key 和证书
SSMS,但是当我尝试使用证书打开 key 时(开放对称
key KeyA 由证书 CertB 解密)我得到
以下非常描述性的错误:
消息 15466,级别 16,状态 1,第 1 行
解密过程中发生错误。
有任何想法吗?
提前致谢。
最佳答案
http://blogs.msdn.com/lcris/archive/2007/11/16/sql-server-2005-restoring-the-backup-of-a-database-that-uses-encryption.aspx回答这个:
“当您恢复使用加密功能的数据库时,您只需要注意一件事——如果数据库主 key (DbMK) 需要服务主 key (SMK) 加密,您需要重新生成此加密。请注意,这个加密是在你创建 DbMK 时默认进行的,但如果你想更严格地控制对加密数据的访问,它可能会被故意丢弃。无论如何,如果你确实对 DbMK 有这样的 SMK 加密,重新生成它的步骤是下列:
OPEN MASTER KEY DECRYPTION BY PASSWORD = 'password'
ALTER MASTER KEY 通过服务主 key 添加加密
关闭主键
就是这样 - 数据库加密功能现在应该像备份时一样工作。另请注意,是否在进行备份的服务器上或其他地方恢复数据库都没有关系。对于此过程,唯一重要的是您知道保护 DbMK 的密码之一“
关于sql-server - SQL Server 2005 - 在不同的服务器上恢复加密的数据库,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/209927/