我正在尝试恢复启用了透明数据加密的数据库备份。我已验证备份文件中的证书指纹与 [master] 数据库中的 TDE 证书相同。
TDE证书:
但是,恢复失败并出现以下错误:
它正在请求旧证书。请注意,我们前段时间更改了 TDE 证书,并且使用 alter database 命令使用新证书对数据库主密钥进行了加密:
USE [db];
GO
ALTER DATABASE ENCRYPTION KEY
ENCRYPTION BY SERVER CERTIFICATE [New_Certificate];
GO
进行备份时,旧证书仍在 [master] 数据库中,并在一段时间后被删除。
这看起来像一个错误。
任何解释,建议?
版本:Microsoft SQL Server 2016 (SP3-OD) (KB5006943) - 13.0.6404.1 (X64)
[编辑1]:
我从备份中恢复了“旧”证书,并且数据库恢复成功。检查加密状态 - 数据库按预期受到“新”证书的保护,我删除了“旧”证书:
但随后数据库备份出现相同的错误- 再次要求“旧”证书:
[编辑2]:
我解密了数据库并重新加密。仅在第二次尝试时解密成功: