这是我第一次使用 TDE,所以希望我没有做任何可怕的错误。
我正在尝试将我的 TDE 数据库从一台服务器移动到另一台服务器。我在新服务器的主数据库上创建了一个主密钥。然后我使用以下命令从备份中恢复我的证书:
CREATE CERTIFICATE MyServerCert
FROM FILE = 'CertBackupFile'
当我最初创建它时,我没有私人加密密钥,所以我只是用密码加密它。
现在,当我尝试恢复 TDE 的备份时,出现以下错误
Msg 15507, Level 16, State 1, Line 2
A key required by this operation appears to be corrupted.
Msg 3013, Level 16, State 1, Line 2
RESTORE DATABASE is terminating abnormally.
我试过查看 create 语句,但看不到可以输入原始密码的位置。此外,当我查看原始服务器上的 sys.certificates 时,pvt_key_encryption_type_desc = ENCRYPTED_BY_MASTER_KEY 但在新服务器上显示 NO_PRIVATE_KEY。所以我假设我在创建时做错了什么。
谁能指出我正确的方向来解决这个问题?
您将需要在新服务器上创建一个主密钥 - 如果它尚未退出。
然后你必须恢复你的证书:
但要使其正常工作,您必须确保使用私钥备份了原始证书。
如果您只有 cer 文件而没有密钥,则需要再次备份您的证书