欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页  >  IT编程

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])

这篇文章就介绍到这了,文中整合了以前发布的文章,需要的朋友可以参考一下。