我有两个 SQL Server 2012 Enterprise 实例,但很难从实例一到实例二的一组备份(完整备份、差异备份和日志备份)中恢复 TDE 数据库。我收到错误“找不到带指纹的服务器证书”。
实例一和实例二都有具有相同密码的主 key ,我已从实例一备份证书和私有(private)文件并恢复到实例二。如果我查看实例 2 上主数据库的“安全”>“证书”文件夹,我可以看到它已列出。
如果我尝试恢复,尽管已导入相同的证书并且该证书存在,但我仍然收到错误“无法找到带指纹的服务器证书”,有人可以建议下一步该怎么做吗?
如果我再次尝试重新导入证书,我会收到消息“名称为“ServerCert”的证书已存在,或者该证书已添加到数据库中。”
我还尝试从备份集中恢复/替换实例一上的数据库,它们可以工作,只是恢复到实例二时不行。
任何帮助将不胜感激:-)
最佳答案
尽管多次重试相同的过程,但我删除了所有实例中的 TDE、证书和主 key ,并从头开始,但重新备份数据库除外。尽管所有密码和证书名称都相同,但仍然没有乐趣。
然后,我删除了所有实例中的 TDE、证书和主 key ,重新启动了两个实例,然后创建了主 key ,然后创建了证书,重新应用了 TDE,然后在实例上执行了所有新的完整备份、差异备份和事务日志备份一。备份实例一的证书,然后在实例二创建相同的主 key ,导入实例一的备份证书,然后执行数据库恢复,一切顺利。
我的 T-SQL 没有任何改变,我唯一能想到的是某种安全性未能正确应用,可能是 tempdb 问题。
我读过其他人也有同样的问题,我希望这对其他人有帮助。
关于database - SQL Server 2012 TDE 恢复证书问题,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/20950555/