sql数据库日志文件过大怎么办

如题所述

日志文件太大,使其减小的方法。
在打开SQL Server Management Studio并正常联接SQL服务器后,运行下面的三行:
( 注意将dbName代换为你的数据库名。)
backup log dbName with NO_LOG
backup log dbName with TRUNCATE_ONLY
DBCC SHRINKDATABASE(dbName)

注意,在SQL 2008之后的版本以上方法无效,需将数据库设为简单模式后再进行收缩。

此外,在SQL Server Management Studio中,以视窗方法操作也可以,操作步骤:
第一步:截断数据库日志,运行代码:
BACKUP LOG 要收缩的数据库名 WITH NO_LOG
第二步:收缩数据库日志文件:
1. 选择要收缩的数据库,点右键选择任务-收缩-文件

2. 在弹出的页面中,选择文件类型为日志

3.点确定。
温馨提示:内容为网友见解,仅供参考
第1个回答  2016-10-25
Sqlserver2005下,日志文件太大,使其减小的方法。
在打开SQL Server Management Studio并正常联接SQL服务器后,运行下面的三行:
( 注意将dbName代换为你的数据库名。)
backup log dbName with NO_LOG
backup log dbName with TRUNCATE_ONLY
DBCC SHRINKDATABASE(dbName)

注意,在SQL 2008之后的版本以上方法无效,需将数据库设为简单模式后再进行收缩。

此外,在SQL Server Management Studio中,以视窗方法操作也可以,操作步骤:
第一步:截断数据库日志,运行代码:
BACKUP LOG 要收缩的数据库名 WITH NO_LOG
第二步:收缩数据库日志文件:
1. 选择要收缩的数据库,点右键选择任务-收缩-文件

2. 在弹出的页面中,选择文件类型为日志

3.点确定。
第2个回答  2018-09-03

经过几个小时的测试,最有用的方法如下:

    停止数据库MSSQL实

    复制数据库目标库文件('***.mdf')重新命名

    执行如下SQL语句,注意修改正确的库名

    EXEC sp_attach_single_file_db @dbname = '库名', 
       @physname = 'D:\Program Files\Microsoft SQL Server\MSSQL10_50.MSSQLSERVER\MSSQL\DATA\库名.mdf'

    数据库属性/文件/限制文件增长

    数据库属性/选项/设置数据库收缩为[自动收缩]

第3个回答  2019-12-19

我是用这个方法进行数据库大容量日志收缩的,可以有效将十几个G的日志收缩的1MB,具体方法在我博客里,有需要的同行可以看看:sql数据库日志收缩https://blog.csdn.net/weixin_43558566/article/details/100578084

第4个回答  2020-12-21

我有个大的 SQL 文件要回放,需要马上做,但又怕压死业务,怎么办?

先来建一个测试库:

塞一些数据进去:

看看我们填充数据的成果:

使用 mysqldump 导出一份数据:

现在我们假设要把这个 dump 文件,回放到一个数据库中,并且现在数据库正在承担很重的业务,我们不希望业务受到太大影响。

先来看看如果直接回放 dump 文件,会发生什么?

我们看到 MySQL 的 cpu 会彪起来,

我们换一个方式来回放 dump:

看看 CPU 压力:

可以看到 CPU 已经非常冷静,并且缓慢的处理数据。

💡小贴士:pv 工具既可以用于显示文件流的进度,也可以用于文件流的限速。在本实验中,我们用 PV 来限制 SQL 文件发到 MySQL client 的速度,从而限制 SQL 的回放速度,达到不影响其他业务的效果。

本回答被网友采纳

如何清空sql数据库的日志文件
方法二:设置检查点,自动截断日志一般情况下,SQL数据库的收缩并不能很大程度上减小数据库大小,其主要作用是收缩日志大小,应当定期进行此操作以免数据库日志过大1、设置数据库模式为简单模式:打开SQL企业管理器,在控制台根目录中依次点开MicrosoftSQLServer-->SQLServer组-->双击打开你的服务器-->双击...

sqlserver 事务日志已满的几种解决方案
一.删除日志文件:(不建议)二.手动收缩:1.数据库右键属性-选项-恢复模式-下拉选择简单-最后点击确定 2.右键数据库-任务-收缩-文件类型-下拉选择日志-收缩操作-在释放未使用.(默认收缩到1MB)-最后点击确定 3.最后别忘了回到第一步骤把恢复模式改为完整!三.自动收缩:1.为了以后能自动收缩,做如...

Sqlserver数据库日志太大如何快速删除
1.清空日志 DUMP TRANSACTION 库名 WITH NO_LOG 2.截断事务日志: BACKUP LOG 数据库名 WITH NO_LOG3.收缩数据库文件(如果不压缩,数据库的文件不会减小 企业管理器--右键你要压缩的数据库--所有任务--收缩数据库--收缩文件 --选择日志文件--在收缩方式里选择收缩至XXM,这里会给出一个允许收缩...

SQL server数据库日志满了怎么处理?
一、删除日志文件。二、手动收缩。操作如下:1、在数据库页面中选择“选项”;2、在打开的选项页面中,将恢复模式更改为“简单”;3、然后点击下方的“确定”;4、然后在数据库文件和文件组汇总,将文件类型更改为“日志”;5、在下方的收缩操作中,选择“将文件收缩到1MB”即可,也可以根据需求自行设...

SQL server数据库日志满了怎么处理?
解决方法 日志文件满而造成SQL数据库无法写入文件时,可用两种方法:一种方法:清空日志。1.打开查询分析器,输入命令 DUMP TRANSACTION 数据库名 WITH NO_LOG 2.再打开企业管理器--右键你要压缩的数据库--所有任务--收缩数据库--收缩文件--选择日志文件--在收缩方式里选择收缩至XXM,这里会给出一个...

SQL SERVER 2000数据库日志文件过大如何解决
一般情况下,SQL数据库的收缩并不能很大程度上减小数据库大小,其主要作用是收缩日志大小,应当定期进行此操作以免数据库日志过大 1、设置数据库模式为简单模式:打开SQL企业管理器,在控制台根目录中依次点开Microsoft SQL Server-->SQL Server组-->双击打开你的服务器-->双击打开数据库目录-->选择你...

K\/3帐套的事务日志文件过大或增长过快,导致系统运行缓慢,客户数据库的...
首先在SQL SERVER企业管理器分离数据库, 然后删除此数据库的日志文件(*.ldf),最后再重新附加数据库) (3)、数据库收缩(在数据库服务器进行数据库实体收缩) (4)、检查二次开发的触发器和存储过程是否存在批量更新数据库不严谨造成日志文件增大(关键) ⑸执行下面附件的SQL,...

如何从根本上解决SQL数据库日志已满的问题
1、你设置了日志文件的最大数,数据库的恢复模式是完整恢复模式,所有的针对数据库的改动都会记录到日志,不仅仅是你的改动数据库,数据库本身的操作也有记录到日志,所以,日志文件才会不断增长。2、那是因为大部分的电脑上的数据库,基本没怎么变过,但生产用的数据库经常变动,所以日志记录也变得巨大...

sql server 数据库日志文件过大是什么原因
您好:通常是INSERT,UPDATE,DELETE语句使用过多导致。请定期备份日志,清理日志。确保数据库的日志文件大小在一个稳定的范围里。

sql2000数据库日志文件太大,怎么办
最常用日志清除方法 1、打开查询分析器,输入命令 BACKUP LOG database_name WITH NO_LOG 2、打开企业管理器 ,选中数据库, 选择 所有任务>收缩数据库 3、选择 收缩文件>文件 4、选择数据库文件,设置收缩文件至?MB

相似回答