账套日志过大如何压缩及压缩不成功的解决办法

最近,很多家客户的账套同时出现日志文件太大的现象,操作和备份都受到影响,客户又不愿意把账套中的日志删除掉了,所以就只好动用了日志压缩的方式,如何正确的进行账套日志压缩呢?
话不多说,直接入题.
语法如下:
dbcc shrinkfile(fileID,target_size)
或者
dbcc shrinkfiles(name,target_size)

fileID和name分别为账套日志的文件id号和账套日志的文件名称
target_size为需要压缩到的日志大小,单位默认为MB)

账套的日志信息可以通过以下语句来获得
select * from sysfiles
 
结果的第二行一般为日志文件的信息,可以看到它的fileid和name分别为2和SCM102SP2_log
如果要压缩此文件的话语句就应该为dbcc shrinkfile(2,100)或者dbcc shrinkfile(SCM102SP2_log,100)
 
但有时,如果文件日志过大,直接运行以上语句,提示成功,可事实上日志文件却不见变小.这应该怎么办呢?我可为此郁闷了一个下午.下午在回家的路上,看到路上堵车,看到交警在十字路口指挥,突然一想,咦,不对啊,是不是应该先截断事务日志,再进行压缩.
回到家里一试,果不其然.
截断事务日志的语法:
Backup log database with truncate_only

database也就是账套实体文件的名称

客户的日志过大的问题也一一得到解决.
 
已经公开 2008年4月25日 20:40 作者: 钥匙和锁

评论

avatar 

收藏了

2008-04-26 8:24
 
avatar 

学习了

2008-04-28 8:33
 
avatar 

学习

2008-04-28 11:25
 
avatar 

收藏~

2008-04-28 15:23
 
avatar 

谢谢 收藏了

2008-04-29 9:56
 
avatar 

学习---

2008-05-02 9:15
 
avatar 

谢谢,分享出来这么好的东西,今天刚处理了一个这样的问题,只是没有你处理的这么专业

2008-05-04 16:34
 
avatar 

 不错啊!

  又学到一招了

2008-05-06 20:54
 
avatar 

也可用“SQL server日志收缩工具”来实现,很方便

2008-05-07 8:16
 
avatar 

也可以采用分离数据库,然后将日志文件删除或者移动到其他的地方。附加数据库的时候不要带以前的日志,系统会自动创建一日志文件。附加好了以后将数据库的故障还原模型改为简单

 

2008-05-07 14:47
 
avatar 

“SQL server日志收缩工具”做一个计划,自动执行

2008-05-18 17:42
 
请登录后再发表评论以赚取更多积分

About 钥匙和锁

If somebody told you i'm just a ordinary guy,somebody lied!