热门标签 | HotTags
当前位置:  开发笔记 > 数据库 > 正文

Sqlserver数据库日志太大如何快速删除

sqlserver使用在windows系统中,如果文件超上百GB了,我们还直接删除不了,这个问题我以前的apache日志就碰到过,至今还没删除呢,那么Sqlserver数据库日志太大如何快速删除呢,有没有办法,答案是肯定的,下面我给各位介绍两删除方法。简单恢复模式下使用

sqlserver使用在windows系统中,如果文件超上百GB了,我们还直接删除不了,这个问题我以前的apache日志就碰到过,至今还没删除呢,那么Sqlserver数据库日志太大如何快速删除呢,有没有办法,答案是肯定的,下面我给各位介绍两删除方法。 简单恢复模式下 使用

sqlserver使用在windows系统中,如果文件超上百GB了,我们还直接删除不了,这个问题我以前的apache日志就碰到过,至今还没删除呢,那么Sqlserver数据库日志太大如何快速删除呢,有没有办法,答案是肯定的,下面我给各位介绍两删除方法。

简单恢复模式下 使用backup log with NO_log是否没有意义?
1.清空日志
  DUMP TRANSACTION 库名 WITH NO_LOG
2.截断事务日志:
  BACKUP LOG 数据库名 WITH NO_LOG
3.收缩数据库文件(如果不压缩,数据库的文件不会减小
  企业管理器--右键你要压缩的数据库--所有任务--收缩数据库--收缩文件
  --选择日志文件--在收缩方式里选择收缩至XXM,这里会给出一个允许收缩到的最小M数,直接输入这个数,确定就可以了
  --选择数据文件--在收缩方式里选择收缩至XXM,这里会给出一个允许收缩到的最小M数,直接输入这个数,确定就可以了
  也可以用SQL语句来完成
  --收缩数据库
  DBCC SHRINKDATABASE(客户资料)
  --收缩指定数据文件,1是文件号,可以通过这个语句查询到:select * from sysfiles
  DBCC SHRINKFILE(1)

代码如下
backup, log, 模式
-- 第一步:清空日志
DUMP TRANSACTION [YZGA] WITH NO_LOG
-- 第二步:截断事务日志
BACKUP LOG [YZGA] WITH NO_LOG
-- 第三步:收缩数据库
DBCC SHRINKDATABASE([YZGA])

注意:
尽管可用该选项手动截断事务日志,但是我们极力建议您不要这样做,因为这会将日志链断开。在下一次完整备份或完整差异备份之前,将无法为数据库提供媒体故障保护。只在非常特殊的情况下才手动截断日志,并立即创建数据备份。


删除日志方法二

1、进入企业管理器,选中数据库,比如it,所有任务->分离数据库。

2、如果数据库正在连接使用,要先点清除,才可以选确定。

3、到数据库文件的存放目录,将it_log.LDF文件删除,不放心可以先拷到别的地方。

4、进入企业管理器,数据库->所有任务->附加数据库。

5、选择it_Data.MDF,这个时候你会看见日志文件这项是一个红叉,不要紧点确定。(自己的这个地方显示的不是红叉,而是未找到,附加就报错,找不到物理文件,解决时把未找到那个直接删除了就行,只留mdf,然后点击添加)

6、此时数据库就会提示你该数据库无日志是否创建一个新的,确定就是了。

7、以后如果新的日志文件变大了,再继续这个步骤就行了。

推荐阅读
author-avatar
mobiledu2502854077
这个家伙很懒,什么也没留下!
PHP1.CN | 中国最专业的PHP中文社区 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved | 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有