跳到主要内容
常见问题 SQL ServerTDE备份还原

开了 TDE 的库还原失败怎么处理

TDE 加密库还原时证书/密钥缺失导致失败的原因,以及先还原证书再还原数据库的正确顺序。

发布于 2026/11/11 所属频道 SQL Server

简短答案

TDE 加密的库,备份里含加密信息,还原目标端必须能拿到数据库主密钥(DMK)及其保护的证书/密钥。缺证书/密钥时还原失败——先还原证书,再还原库。

处理步骤

  1. 在源库确认加密信息:
SELECT d.name, ek.encryption_state
FROM sys.databases d
JOIN sys.dm_database_encryption_keys ek ON ek.database_id = d.database_id;
  1. 先导出并还原证书(源端导出、目标端导入):
BACKUP CERTIFICATE 证书名 TO FILE = N'C:\cert\证书.cer';
-- 目标端
CREATE CERTIFICATE 证书名 FROM FILE = N'C:\cert\证书.cer';
  1. 证书就位后再 RESTORE DATABASE,成功概率显著提高。
  2. 主密钥口令缺失时,需先备份并还原数据库主密钥:BACKUP MASTER KEY TO FILE ... ENCRYPTION BY PASSWORD。
  3. 在 SSMS 中操作时,证书与主密钥的备份文件要提前备好。
  4. 各版本 TDE 支持范围以 SQL Server 2022 Developer 条目页核对。

操作小结

  1. 顺序固定:证书 → 主密钥 → 数据库还原。
  2. 加密元信息要随备份一起管理,别只存 .bak。
  3. 还原前先在目标端验证证书可用。

相关链接

本文内容基于公开资料整理,仅供参考;涉及授权与合规的操作请以厂商官方文档为准。

相关推荐下载

按本文主题匹配的官方原版镜像条目

配套 PE 工具

制作启动盘、备份数据、修复引导

其他常见问题

同一集合内的相近主题,按标签与关键词匹配