在SQL Server中经常遇到事务日志变大的情况 ,除了将数据库设置为“自动收缩”外 ,还可以使用下面的SQL命令进行快速清除数据库中的事务日志,命令如下: 

- 第一步:清空日志

DUMP TRANSACTION

   databasename

   WITH

   NO_LOG

-- 第二步:截断事务日志

BACKUP LOG

   databasename

   WITH

   NO_LOG

-- 第三步:收缩数据库

DBCC SHRINKDATABASE(databasename)

需要说明几点:

1. 上面的SQL命令需要按照顺序执行;

2. 执行上面的命令通常比直接使用右键菜单中的“收缩 ”命令要快很多 。

第二个方法:如果经过以上代码处理后日志还是过大,可以使用数据库存查询管理器 点击数据库名>右键>任务>收缩>文件>文件类型选择日志 ,在收缩文件一栏中填写将文件收缩到0M,点击确定即可,如下图

解决sqlserver日志ldf文件过大的方法  棋牌技术  第1张

第三个方法:还一个比较简单的方法:先把数据分离 ,然后删除.ldf的文件,重新附加数据库 MDF文件.会提示找不到.ldf文件 。直接删除即可,如下图

解决sqlserver日志ldf文件过大的方法  棋牌技术  第2张

删除后 ,点击确定,数据库被附加上。新生成的ldf文件只有504 KB

1、分离数据库后 到目录下删除.ldf文件后 到sql server中附加数据库 (会提示找不到ldf文件,不用管 ,直接删除就可以了) 附加成功后 ,ldf文件 504K 经确认可行,并且对网站的内容没有影响。 。。。呵呵 2 、用sql语句收缩事务日志文件 不过我还没有成功过 步骤操作:1. 备份事务日志文件 ,以使大多数活动虚拟日志文件处于非活动状态 。因此 ,可在以后的步骤中删除非活动的虚拟日志文件。为此,请运行与以下 Transact-SQL 语句相似的 Transact-SQL 语句。


未经允许不得转载! 作者:棋牌源码网,转载或复制请以超链接形式并注明出处棋牌源码网

原文地址:《解决sqlserver日志ldf文件过大的方法》发布于:2021-08-09