我们刚刚开始使用 TDE。最终它将在我们的 Prod SQL Server 环境和两个主要的非生产环境中,但目前它仅在一个非生产系统中。
我的问题是关于恢复这些数据库。我们还有其他几个环境(企业版和标准版)以及我们有时会将数据库备份发送到的异地供应商。对于那些,我们要么必须使用中间服务器在恢复之前关闭 TDE,要么使用不同的密钥进行备份。
但具体来说,我想知道如何从启用 TDE 的生产环境恢复到启用 TDE 的非生产环境。一旦 TDE 数据库在没有关闭 TDE 的情况下恢复,它是否会继续使用源服务器的密钥?我想知道在这种情况下是否需要关闭和打开 TDE(这需要几个小时)。还要注意我在下面恢复时的奇怪行为。它似乎通过数据库的前一个化身携带历史密钥,并且在复制到具有相同数据库名称的服务器时,允许第二个服务器的密钥。这是正确的吗?
我在由不同 VM 上的两个数据库实例组成的非生产环境中执行了以下操作:
在实例 1 上:
请注意,我没有为 DBA2 创建任何证书或密钥,也没有将任何 DBA 证书和密钥从实例 1 复制到 2。
实例 2 有自己的不相关的 DBA 数据库,其中包含 TDE 证书和密钥。还原后未在 DBA2 上启用 TDE。
所以它看起来像: