随笔 - 404  文章 - 4  评论 - 0  阅读 - 25万

【SQLServer2019管理】事务日志收缩

 
SQL Server日志清理
在数据库使用很久后日志文件会累计的越来越大,如果硬盘空间不足可能会导致宕机。
 

SQL Server三个恢复模式

sql server数据库提供了三种恢复模式:完整,简单和大容量日志,这些模式决定了sql server如何使用事务日志,如何选择它要记录的操作,以及是否截断日志。截断事务日志是删除己执行事务并把该日志空间让给新事务的过程
1.完整sql server恢复模式
数据库引擎把所有操作都记录到事务日志上,并且数据库引擎绝对不会截断日志,完整恢复模式能使数据库恢复到故障时间点。
2.简单sql server恢复模式
数据库引擎最低限度地记录大多数操作,并在每个检查点之后截断事务日志。它不能备份或还原事务日志,也不能还原单独的数据页。
3.大容量日志模式
数据库引擎对大容量操作(select into和bulk insert)进行最小记录。如果一个日志备份包含任何大容量操作,就可以使数据库恢复到日志备份的结尾,但不能恢复到某个时间点,它仅用于大容量操作期间。
 
在生产环境下建议使用完整恢复模式,因为它提供了最可恢复的配置。如果通过大容量机制定期导入数据,则可以临时将数据库的恢复模式改变为大容量日志模式,以获得更好的大容量负载性能,在导入过程结束后,应将数据库恢复为完整恢复模式。
ALTER DATABASE database_name SET RECOVERY { FULL | BULK_LOGGED | SIMPLE }
 

日志清理过程

建议在清理之前,先进行一次全量备份,以便可以进行指定时间点恢复

修改数据库模式(简单)

首先将需要清理日志的数据库模式修改为:简单模式
操作路径: 选中要清理的数据库 -> 右键 -> 属性 -> 选项
 
 

收缩日志文件

操作路径: 选中要清理的数据库 -> 右键 -> 任务 -> 收缩 -> 文件

修改数据库模式(完整)

首先将需要清理日志的数据库模式修改为:完整模式
操作路径: 选中要清理的数据库 -> 右键 -> 属性 -> 选项
 
 
建议日志清理完全后,立即进行一次全量备份,有利于进行指定时间点恢复操作,降低风险。
posted on   HelonTian  阅读(229)  评论(0编辑  收藏  举报
相关博文:
阅读排行:
· PowerShell开发游戏 · 打蜜蜂
· 在鹅厂做java开发是什么体验
· 百万级群聊的设计实践
· WPF到Web的无缝过渡:英雄联盟客户端的OpenSilver迁移实战
· 永远不要相信用户的输入:从 SQL 注入攻防看输入验证的重要性
历史上的今天:
2021-12-08 【MySQL管理】percona-toolkit工具
2021-12-08 【PgSQL extension】源码安装Pg,默认未安装postgres_fdw
< 2025年2月 >
26 27 28 29 30 31 1
2 3 4 5 6 7 8
9 10 11 12 13 14 15
16 17 18 19 20 21 22
23 24 25 26 27 28 1
2 3 4 5 6 7 8

点击右上角即可分享
微信分享提示