You need to enable JavaScript to run this app.
最新活动
大模型
产品
解决方案
定价
生态与合作
支持与服务
开发者
了解我们

SQL Server 2014:无加密配置新实例还原加密备份及证书安装步骤

没问题,我来一步步给你捋清楚操作流程,顺便明确解答你的疑问:

操作步骤详解

1. 先创建数据库主密钥(Master Key)

新实例没有默认的数据库主密钥,而我们要创建的证书需要靠它来保护,所以这是第一步必须做的操作。执行以下T-SQL命令:

CREATE MASTER KEY ENCRYPTION BY PASSWORD = '你的高强度密码';

提示:密码要符合SQL Server的复杂度要求,最好把这个密码妥善保存,后续如果需要备份主密钥会用到。

2. 使用现有证书和PVK文件创建证书

必须在新实例上创建这个证书——因为你的备份是用原实例的证书加密的,新实例没有这个证书的话,根本无法解密备份文件。执行下面的T-SQL命令:

CREATE CERTIFICATE 你的证书名称
FROM FILE = 'C:\实际路径\你的证书文件.cer'
WITH PRIVATE KEY (
    FILE = 'C:\实际路径\你的PVK文件.pvk',
    DECRYPTION BY PASSWORD = '你的PVK文件密码短语'
);

注意事项:

  • 替换命令里的证书名称、文件路径、密码短语为你实际的信息
  • 要确保SQL Server服务账户对这两个文件有读取权限,不然会报权限错误

3. 还原加密的数据库备份

证书创建完成后,就可以正常还原备份了。如果不确定备份里的数据库文件逻辑名,可以先执行下面的命令查看:

RESTORE FILELISTONLY
FROM DISK = 'C:\实际路径\你的备份文件.bak';

然后用查到的逻辑名执行还原命令:

RESTORE DATABASE 你的目标数据库名
FROM DISK = 'C:\实际路径\你的备份文件.bak'
WITH REPLACE, -- 如果目标实例已有同名数据库,用这个参数覆盖
MOVE '原数据文件逻辑名' TO 'C:\新路径\你的数据库文件.mdf',
MOVE '原日志文件逻辑名' TO 'C:\新路径\你的数据库日志文件.ldf';

额外提醒

  • 权限问题是这类操作的高频坑:要确保SQL Server服务账户对备份文件、证书/PVK文件、以及数据库文件的存放路径都有读写权限
  • 还原完成后,记得定期备份这个证书和私钥,要是证书丢了,以后这个数据库的加密备份就没法还原了
  • 如果原证书已经过期,可能需要先更新证书有效期再操作,不过一般还原时只要证书存在就能解密

内容的提问来源于stack exchange,提问作者Jon

火山引擎 最新活动