sql server在运行过程中,尤其是使用一些数据交互操作过程中,会产生大量的日志;
日志的好处在于,会我们可以在数据库崩溃的时候,数据还原帮助 。
但在实际工作中,数据的备份和增量做好,相对更为靠谱 。在使用ETL工具数据清洗过程中,产生大量无用的日志,清理日志变成重要的工作 。
个人的做法倾向于在数据库设置定时清理日志作业 。
- 1、具体作业步骤如下:
- 2、找到sql server 代理,新建代理作业
文章插图
输入作业名称:日志清理
所有者:默认sa管理员账户,清理日志需要权限等级,方便管理可以用默认sa账户
类别:方便管理可以选择【数据库维护】,或者其他类别 。主要是考虑方便后续可以用第三方工具读取配置信息
- 3、关键步骤,设置执行代码
文章插图
【SQL Server日志定时清理】
步骤名称:clearlog
命令内容如下:
USE [master]GOALTER DATABASE 数据库名 SET RECOVERY SIMPLE WITH NO_WAITGOALTER DATABASE 数据库名 SET RECOVERY SIMPLEGOUSE 数据库名 GODBCC SHRINKFILE (N'日志文件名' , 0,TRUNCATEONLY)GOUSE [master]GOALTER DATABASE 数据库名 SET RECOVERY FULL WITH NO_WAITGOALTER DATABASE 数据库名 SET RECOVERY FULLGOdbcc sqlperf(logspace)关于【日志文件名】可以右键需要清理日志的数据库,选择属性,查看文件
文章插图
逻辑名称:cw_log,就是记录日志信息文件
- 4.清理日志的原理:
- 5、设置代理时间
文章插图
根据日志产生频率和增长情况,来设置是一天1次,还是1天多次,还是一周一次 。
通过ETL工具定时执行某些作业操作完毕后,进行日志清理代理的调用 。
推荐阅读
- mysql分组合并
- 如何查看Oracle数据库物理读、逻辑读前10的sql?
- Mysql有多少种锁,怎么写加锁的SQL语句
- MySQL不为人知的主键与唯一索引约束
- 微服务架构下,Mysql读写分离后,数据库CPU飙升卡壳问题解析
- 如何查看磁盘上的MySQL表大小
- 阿里P8架构师谈:MySQL数据库的索引原理、与慢SQL优化的5大原则
- 当我们输入一条 SQL 查询语句时,发生了什么?
- 详解mysql索引使用率监控技巧,值得收藏
- mysql数据库 InnoDB崩溃恢复机制总结