Sql Server 2008中日志已满的解决办法

这几天在做大数据量的sql server 性能调研,分别用100万,200万和500万数据来进行测试

在这过程中,突然遇到了日志已满的错误消息,一看日志文件,竟然有10多个G,硬盘的剩余空间几乎已经被占满了,就想到了需要压缩日志文件

于是使用了下面的命令

DUMP TRANSACTION Demo WITH NO_LOG

但是运行的时候发现出错“Incorrect syntax near the keyword 'TRANSACTION

 

一查资料,才发现原来SQL 2008 已经不再支持 DUMP TRANSACTIONBACKUP LOG WITH NO_LOG详情请看
http://msdn.microsoft.com/zh-cn/library/ms187315%28SQL.90%29.aspx
http://msdn.microsoft.com/zh-cn/library/ms186865.aspx 

 

于是用了下面这种方式,成功的实行了压缩

主要思路是先将数据库设置为简单恢复模式,然后执行压缩,最后再设置回原来的模式

 

USE Demo

GO
ALTER DATABASE Demo
SET RECOVERY SIMPLE;--设置简单恢复模式
GO
DBCC SHRINKFILE (Demo_LOG, 1);
GO
ALTER DATABASE Demo
SET RECOVERY FULL;--恢复为原模式
GO

当然压缩日志文件的方式非常多,这里只说了我使用的成功的一种方式供大家参考

posted @ 2012-08-03 11:18  katherine_fyy  阅读(419)  评论(0编辑  收藏  举报