SQL Server 2012 TDE还原证书问题

时间:2014-01-06 12:57:18

标签: database sql-server-2012 tde

我有两个SQL Server 2012 Enterprise实例,但很难将一组备份(完整,差异和日志)中的TDE数据库从实例一恢复到实例二。我收到错误'无法找到带有指纹的服务器证书'。

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

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

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

我还尝试从备份集恢复/替换实例1上的数据库并且它们正常工作,而不是在恢复到实例2时。

非常感谢任何帮助: - )

1 个答案:

答案 0 :(得分:2)

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

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

我的T-SQL都没有以任何方式发生变化,我能收集的唯一想法是某种安全性未能正确应用,可能是tempdb问题。

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