小编Bri*_*anC的帖子

还原 SQL 数据库时关闭 TDE

我们刚刚开始使用 TDE。最终它将在我们的 Prod SQL Server 环境和两个主要的非生产环境中,但目前它仅在一个非生产系统中。

我的问题是关于恢复这些数据库。我们还有其他几个环境(企业版和标准版)以及我们有时会将数据库备份发送到的异地供应商。对于那些,我们要么必须使用中间服务器在恢复之前关闭 TDE,要么使用不同的密钥进行备份。

但具体来说,我想知道如何从启用 TDE 的生产环境恢复到启用 TDE 的非生产环境。一旦 TDE 数据库在没有关闭 TDE 的情况下恢复,它是否会继续使用源服务器的密钥?我想知道在这种情况下是否需要关闭和打开 TDE(这需要几个小时)。还要注意我在下面恢复时的奇怪行为。它似乎通过数据库的前一个化身携带历史密钥,并且在复制到具有相同数据库名称的服务器时,允许第二个服务器的密钥。这是正确的吗?

我在由不同 VM 上的两个数据库实例组成的非生产环境中执行了以下操作:

在实例 1 上:

  1. 在数据库 DBA 上启用 TDE,
  2. 备份证书、密钥和数据库,
  3. 将 DBA 的备份恢复到新数据库 DBA2,
  4. 备份数据库 DBA2,在实例 2 上:
  5. 从实例 1 复制 DBA2 备份,
  6. 恢复的 DBA2。

请注意,我没有为 DBA2 创建任何证书或密钥,也没有将任何 DBA 证书和密钥从实例 1 复制到 2。

实例 2 有自己的不相关的 DBA 数据库,其中包含 TDE 证书和密钥。还原后未在 DBA2 上启用 TDE。

所以它看起来像:

  1. 实例 1 DBA 密钥在步骤 3 中转移到 DBA2 中,并且
  2. 尽管实例 1 的 DBA 和实例 2 的 DBA 是不同的实体,但还原过程可能使用了步骤 …

sql-server transparent-data-encryption

6
推荐指数
1
解决办法
789
查看次数