假设我有一个生产服务器,并且##MS_DatabaseMasterKey##
上面有一个数据库主密钥 (master_key1)。我创建了一个证书c1
,默认情况下由 master_key1 加密。然后我支持c1
以下声明。
BACKUP CERTIFICATE c1 TO FILE = 'c:\c1.crt'
WITH PRIVATE KEY
(
FILE = 'c:\c1_private_key.key',
ENCRYPTION BY PASSWORD = 'c1_private_key_password'
);
之后,我将三个c1
备份相关文件复制到开发服务器。在开发服务器上,我创建了一个新的数据库主密钥。它仍然被称为##MS_DatabaseMasterKey##
,但它是一个新创建的(我们称之为 master_key2)。现在我c1
在开发服务器上恢复:
CREATE CERTIFICATE c1
FROM FILE = 'c:\c1.crt'
WITH PRIVATE KEY
(
FILE = 'c:\c1_private_key.key',
DECRYPTION BY PASSWORD = 'c1_private_key_password'
);
问题:
- 在开发服务器上恢复后
c1
,它是否被加密master_key2
?这里好像没碰过master_key2
。 - 当我在开发服务器上恢复
c1
时,我可以将其名称更改为喜欢c2
(CREATE CERTIFICATE c2 ...
)吗?如果我这样做,生产服务器上的 TDE 加密备份可以在开发服务器上恢复吗?