当前位置: 首页 > news >正文

SQL Server 备份加密和解密还原

打开SSMS

1.--创建证书

       CREATE CERTIFICATE MyCertificate_backup

       WITH SUBJECT = 'My Certificate for backup';

--查询证书

       SELECT name, start_date, expiry_date

       FROM sys.certificates; -- 显示证书名称、生效日期及过期日期

2.--创建主密钥

--如果您的环境中还没有主密钥,您可能需要创建一个。主密钥用于保护证书的私钥。

       CREATE MASTER KEY ENCRYPTION BY PASSWORD = '强密码';

       -- 查询主密钥:

       SELECT * FROM sys.symmetric_keys

3.使用证书备份

--使用证书备份

      

BACKUP DATABASE [BOSA]

       TO  DISK = N'F:\SQL_Backup\FULL\BOSA_20250418_152936.bak'

       WITH ENCRYPTION (ALGORITHM =AES_256, SERVER CERTIFICATE = MyCertificate_backup);  -- MyCertificate_backup 为上边创建的证书名称

       GO

       --查询备份文件是否加密

       RESTORE HEADERONLY

FROM DISK = N'F:\SQL_Backup\FULL\BOSA_20250418_092736.bak';

-- 备份数据库主密钥

       BACKUP MASTER KEY

       TO FILE = 'E:\SQL_Backup\SQL_Certificate\DMKfilename.key '

       ENCRYPTION BY PASSWORD = 'xxxxxxx';

       GO

       -- 备份证书

       BACKUP CERTIFICATE MyCertificate_backup

       TO FILE = 'E:\SQL_Backup\SQL_Certificate\MyCertificateFilename.cer '

       WITH PRIVATE KEY(

       FILE = 'E:\SQL_Backup\SQL_Certificate\MyCertificateKeyFilename.key ',

       ENCRYPTION BY PASSWORD = ' xxxxxxx ');

       GO

4. 异地还原

 注: 证书本地还原正常,异地还原报错

--异地还原

       USE master;

       GO

       RESTORE DATABASE [BOSA_20250418]

       FROM DISK='E:\sfisbak\BOSA_20250418_152936.bak' WITH NORECOVERY,

    MOVE 'BOSA' TO 'H:\SFIS_Data\BOSA20250418.mdf',

    MOVE 'BOSA_log' TO 'H:\SFIS_Data\BOSA20250418_log.ldf'

       GO

5异地导入证书

--删除证书

DROP CERTIFICATE MyCertificate_backup;

--导入证书

create certificate MyCertificate_backup

from file =N'E:\sfisbak\MyCertificateFilename.cer'

with private key

(

       file=N'E:\sfisbak\MyCertificateKeyFilename.key',

       decryption by password=N'',

       encryption by password=N''

)

--正常还原

USE master;

       GO

       RESTORE DATABASE [BOSA_20250418]

       FROM DISK='E:\sfisbak\BOSA_20250418_152936.bak' WITH NORECOVERY,

    MOVE 'BOSA' TO 'H:\SFIS_Data\BOSA20250418.mdf',

    MOVE 'BOSA_log' TO 'H:\SFIS_Data\BOSA20250418_log.ldf',

       replace;

   

       GO

相关文章:

  • vue2 provide 后 inject 数据不是响应式的,不实时更新
  • 光纤失效模式及其影响
  • 【中间件】brpc之工作窃取队列
  • 【2025年】基于电脑的jdk1.8通过idea创建springboot2.x版本(非常简洁快速)
  • 64.微服务保姆教程 (七) RocketMQ--分布式消息中间件
  • Excel 数据 可视化 + 自动化!Excel 对比软件
  • IoTDB磁盘I/O性能监控与优化指南
  • 力扣-hot100 (矩阵置零)
  • 机器学习实操 第二部分 神经网路和深度学习 第13章 使用TensorFlow加载和预处理数据
  • 高等数学第六章---定积分(§6.2定积分在几何上的应用2)
  • Elasticsearch知识汇总之 ElasticSearch高可用方案
  • [ linux-系统 ] 常见指令2
  • 开源向量大模型推荐:2025年技术选型指南
  • 模板模式 VS 建造者模式
  • Sublime Text快速搭建Lua语言运行环境
  • 可以下载blender/fbx格式模型网站
  • 【C++游戏引擎开发】第31篇:物理引擎(Bullet)—碰撞检测系统
  • 学习Python网络爬虫的实例
  • SpringBoot 集成滑块验证码AJ-Captcha行为验证码 Redis分布式 接口限流 防爬虫
  • 数据清洗-电商双11美妆数据分析
  • 李云泽:房地产“白名单”贷款审批通过金额增至6.7万亿元
  • 大学2025丨专访清华教授沈阳:建议年轻人每天投入4小时以上与AI互动
  • 马上评|从一个细节看今年五一档电影
  • 中东睿评|胡塞武装已成为楔入中东各方力量之间的钉子户
  • 特朗普要征100%关税,好莱坞这批境外摄制新片有麻烦了
  • 视频丨054B型护卫舰钦州舰南海实战化训练