首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >我们需要在DR服务器/Test服务器上备份服务主密钥(SMK)和数据库主密钥(DMK)吗?

我们需要在DR服务器/Test服务器上备份服务主密钥(SMK)和数据库主密钥(DMK)吗?
EN

Stack Overflow用户
提问于 2019-08-20 15:50:17
回答 1查看 530关注 0票数 1

我正试图通过以下步骤来实现TDE

在源服务器上:服务主键已经存在

  1. 在主数据库上创建主密钥
  2. 在主数据库上创建证书
  3. 在用户数据库上创建数据库加密密钥,并在此数据库上启用TDE
  4. 带密码的私钥备份证书(.cer) (.pvk)

当我需要在DR/Test服务器上恢复启用TDE的数据库时

测试服务器:

  1. 通过源服务器的备份创建证书
  2. 恢复数据库

我发现我们也可以备份服务主密钥(SMK)和数据库主密钥(DMK)。

我的问题是:

  1. 为什么我们需要备份SMK和DMK?只有证书备份文件.cer与私钥文件.pvk和密码不够吗?
  2. 我是否需要同样的SMK和DMK从源服务器恢复数据库备份的测试/DR服务器?
  3. 为什么在下面的文章中他们没有恢复SMK和DMK?

https://www.mssqltips.com/sqlservertip/3572/recovering-a-sql-server-tde-encrypted-database-successfully/

如果从SQL安装中已经存在服务主键,则在测试服务器上。

如果我创建了一个数据库主键(是否需要从源的备份中恢复)

接下来的步骤是简单地从源服务器恢复证书,然后恢复数据库?

请放点光。

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2019-08-20 19:02:00

简短的回答是:您不需要从源服务器备份DMK或SMK才能恢复数据库;证书就足够了。

更长的答案是,SMK和DMK中的每一个都被设计用来加密加密层次中的某些内容。对于TDE,主数据库的DMK加密TDE证书的私钥部分。主数据库的DMK由SMK加密。这允许SQL在没有用户干预的情况下打开证书,这反过来又允许您的数据库在没有用户干预的情况下启动。只要您对包含公钥和私钥部分的证书进行备份,就可以将其还原到任何您想要的服务器上,并使用目标服务器的主数据库DMK加密私钥部分,您应该是g2g。

DMKs和可用性组的一个特定警告是,如果您有一个包含DMK的AG中的用户数据库,那么您将希望在AG中的所有服务器上SMK是相同的。为了进行物理锁类比,您需要在DMK的私钥上设置一个锁,并确保所有服务器都有相同密钥的副本。如果不这样做,当您失败时,新的主服务器的密钥将不适合锁,您将不得不用您拥有的密钥(即密码)打开它,然后重新键入锁(即alter master key add encryption by service master key)。

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/57577363

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档