【问题标题】:SQL Server 2012 TDE Restore Certificate IssueSQL Server 2012 TDE 还原证书问题
【发布时间】:2014-01-23 21:23:58
【问题描述】:

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

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

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

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

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

任何帮助将不胜感激:-)

【问题讨论】:

  • 您在导入证书时出错。我猜不出是什么错误,因为你忽略了你所做的实际步骤。从头开始,这次请确保您完全按照Move a TDE Protected Database to Another SQL Server 的步骤进行操作
  • 我试了好几次,在发帖之前,没有错误重新导入证书,否则我会收到一个错误,可能是权限问题,但是当我运行 T-SQL CREATE CERTIFICATE FROM FILE 我收到了一个已成功完成的提示,并且证书位于实例 2 上主数据库的 Security > Certificates 文件夹中,如上所述。

标签: database sql-server-2012 tde


【解决方案1】:

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

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

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

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

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2014-12-11
    • 2020-02-25
    • 2013-03-25
    • 1970-01-01
    • 2014-09-23
    • 1970-01-01
    • 2017-02-28
    • 2016-06-21
    相关资源
    最近更新 更多