2

我有两个 SQL Server 2012 Enterprise 实例,但努力从实例一到实例二的一组备份(完整、差异和日志)还原 TDE 数据库。我收到错误“找不到带有指纹的服务器证书”。

实例一和实例二都有相同密码的主密钥,我已经备份了实例一的证书和私有文件并恢复到实例二。如果我查看实例 2 上主数据库的 Security > Certificates 文件夹,我可以看到它已列出。

如果我尝试恢复,尽管导入了相同的证书并且它存在,我仍然收到错误“找不到带有指纹的服务器证书”,有人可以建议下一步该怎么做吗?

如果我再次尝试重新导入证书,我会收到消息“名称为“ServerCert”的证书已存在或此证书已添加到数据库中。”

我还尝试从备份集中恢复/替换实例一上的数据库并且它们工作,只是在恢复到实例二时不行。

任何帮助将非常感激 :-)

4

1 回答 1

2

尽管多次重试相同的过程,但我删除了所有实例中的 TDE、证书和主密钥,并从头开始,除了重新备份数据库。尽管所有密码和证书名称都相同,但仍然没有乐趣。

然后,我删除了所有实例的 TDE、证书和主密钥,重新启动了两个实例,然后创建了一个主密钥,然后是证书,重新应用了 TDE,然后在实例 1 上执行了所有新的完整、差异和事务日志备份。从实例一备份证书,然后在实例二上创建相同的主密钥,从实例一导入备份证书,然后进行数据库恢复,一切正常。

我的 T-SQL 没有任何改变,我唯一能想到的是某种安全性未能正确应用,可能是 tempdb 问题。

我读过其他人有同样的问题,我希望这对其他人有帮助。

于 2014-01-07T14:01:34.953 回答