数据库日志过大
2016-06-21 13:32
218 查看
这两天遇到了项目数据库日志过大问题,日志文件达到快500G,收缩也没用,后来查到各种资料,解决办法:
1、 将数据库进行一次事务日志备份(第一次备份下来的日志也将近500G,不知道怎么回事,第二次备份才2G);
2、查看log_reuse_wait和log_reuse_wait_desc值
在备份之后,执行以上语句,查看数据库的log_reuse_wait和log_reuse_wait_desc,备份之前log_reuse_wait是2,log_reuse_wait_desc是LOG_BACKUP,之后变为0和NOTHING,变为0以后,收缩才有效果
3、收缩
还有一个比较暴力的解决办法:
—1. 设为简单恢复模式
use [master]
alter database [数据库名] set recovery simple with no_wait
alter database [数据库名] set recovery simple
—2. 收缩数据库至8M,需要用:select * from sys.database_files 查询一下真实log名称,替换下面语句中的A
use 数据库名
dbcc shrinkfile(A,8)
—3. 重新设为完整恢复模式
use [master]
alter database 数据库名 set recovery full with no_wait
alter database 数据库名 set recovery full
1、 将数据库进行一次事务日志备份(第一次备份下来的日志也将近500G,不知道怎么回事,第二次备份才2G);
2、查看log_reuse_wait和log_reuse_wait_desc值
SELECT name,log_reuse_wait,log_reuse_wait_desc FROM sys.databases WHERE name = '数据库'
在备份之后,执行以上语句,查看数据库的log_reuse_wait和log_reuse_wait_desc,备份之前log_reuse_wait是2,log_reuse_wait_desc是LOG_BACKUP,之后变为0和NOTHING,变为0以后,收缩才有效果
3、收缩
还有一个比较暴力的解决办法:
—1. 设为简单恢复模式
use [master]
alter database [数据库名] set recovery simple with no_wait
alter database [数据库名] set recovery simple
—2. 收缩数据库至8M,需要用:select * from sys.database_files 查询一下真实log名称,替换下面语句中的A
use 数据库名
dbcc shrinkfile(A,8)
—3. 重新设为完整恢复模式
use [master]
alter database 数据库名 set recovery full with no_wait
alter database 数据库名 set recovery full
相关文章推荐
- Android之获取手机上的图片和视频缩略图thumbnails
- 数据库链接字符串查询网站
- DB2实例管理
- DB2实例管理
- 保障MySQL数据安全的14个最佳方法
- mysql问答汇集
- 第三章 数据库备份和还原
- 创建一个空的IBM DB2 ECO数据库的方法
- Access 2000 数据库 80 万记录通用快速分页类
- 开通一个数据库失败的原因的和解决办法
- 一个简单的asp数据库操作类
- CentOS下DB2数据库安装过程详解
- EasyASP v1.5发布(包含数据库操作类,原clsDbCtrl.asp)第1/2页
- sql2008 还原数据库解决方案
- Oracle 数据库自动存储管理-安装配置
- Oracle数据库执行脚本常用命令小结
- Oracle 数据库 临时数据的处理方法
- 数据库分页查询语句数据库查询
- 最近比较流行的数据库挂马