SQL Server 2008 清空删除日志文件(瞬间缩小日志到几M)
程序员文章站
2022-04-20 19:25:37
sql 在使用中每次查询都会生成日志,但是如果你长久不去清理,可能整个硬都堆满哦,笔者就遇到这样的情况,直接网站后台都进不去了,今天到数据库中一看竟然达到了29g的日志文件...
sql 在使用中每次查询都会生成日志,但是如果你长久不去清理,可能整个硬都堆满哦,笔者就遇到这样的情况,直接网站后台都进不去了,今天到数据库中一看竟然达到了29g的日志文件,下面我们一起来学习一下如何清理这个日志吧
sql2008清空删除日志:
方法一:
use [master] go alter database afms set recovery simple with no_wait go alter database afms set recovery simple go use afms go dbcc shrinkfile (n'afms_log' , 11, truncateonly) go use [master] go alter database afms set recovery full with no_wait go alter database afms set recovery full go
'在sql2008中清除日志就必须在简单模式下进行,等清除动作完毕再调回到完全模式。
use [master] go alter database dnname set recovery simple with no_wait go alter database dnname set recovery simple --简单模式 go use dnname go dbcc shrinkfile (n'dnname_log' , 11, truncateonly) go '这里的dnname_log 如果不知道在sys.database_files里是什么名字的话,可以用以下注释的语句进行查询 'use dnname 'go 'select file_id, namefrom sys.database_files; 'go use [master] go alter database dnname set recovery full with no_wait go alter database dnname set recovery full --还原为完全模式 go
sql2005清空删除日志:
backup log dnname with no_log '这里的dnname是你要收缩的数据库名,自己注意修改下面的数据库名,我就不再注释了。 go dump transaction dnname with no_log go use dnname dbcc shrinkfile (2) go
sqlserver2000压缩日志
可以将jb51.ldf文件变得很小,方便备份数据库等,在sqlserver查询分析器中执行即可。
dump transaction [jb51] with no_log backup log [jb51] with no_log dbcc shrinkdatabase([jb51])
这篇文章就介绍到这了,文中整合了以前发布的文章,需要的朋友可以参考一下。
上一篇: 如何用最快的速度读出大小为10G的文件的行数?弄懂 python 的迭代器
下一篇: 敢不敢试一试