SQL2008如何清空压缩数据库日志
2015-04-12 09:00
211 查看
SQL2008如何清空压缩数据库日志
编写人:左丘文2015-4-10
近期在给一系统初始化资料时,不断的导入导出,因此一不小心,就将数据的SQL(sql2008R2)的是日志档弄得比数据库还大,给系统部署带来麻烦。因此想办法能否快速的将日志文件缩小到令人满意的504K。
今天在这里,我想与大家一起分享一下SQL2008中如何清空日志文档,在此做个小结,以供参考。有兴趣的同学,可以一同探讨与学习一下,否则就略过吧。
1. 采用我之前在SQL2005中的方法,发现已不能正常运行:
--sql 2005
DUMP TRANSACTION ECM WITH NO_LOG
BACKUP LOG ECM WITH NO_LOG
DBCC SHRINKDATABASE(ECM) 2. 由于SQL2008对文件和日志管理进行了优化,所以以下语句在SQL2005中可以运行但在SQL2008中已经被取消:
方法一:
在SQL2008中清除日志就必须在简单模式下进行,等清除动作完毕再调回到完全模式。
1 --sql 2008
2
3 USE [master]
4 GO
5 ALTER DATABASE ECM SET RECOVERY SIMPLE WITH NO_WAIT
6 GO
7 ALTER DATABASE ECM SET RECOVERY SIMPLE --简单模式
8 GO
9 USE ECM
GO
DBCC SHRINKFILE (N'SCS_log' , 11, TRUNCATEONLY) --这里要留意,要使用数据库逻辑名
1 GO
2 USE [master]
3 GO
4
5 ALTER DATABASE ECM SET RECOVERY FULL WITH NO_WAIT
6
7 GO
8
9 ALTER DATABASE ECM SET RECOVERY FULL --还原为完全模式
GO 优点:此清除日志所运行消耗的时间短,90GB的日志在分钟左右即可清除完毕,做完之后做个完全备份在分钟内
即可完成。
缺点: 不过此动作最好不要经常使用,因为它的运行会带来系统碎片。普通状态下LOG和DIFF的备份即可截断日志。
此语句使用的恰当环境:当系统的日志文件异常增大或者备份LOG时间太长可能影响生产的情况下使用。
方法二:
最简单的一种方法是:
分离数据库
剪切(注意是剪切,不是删除)*.ldf到其他目录
附加数据库,选中*.mdf文件,附加时新建一个日志文件
确认没有问题后,把日志文件删除。
如碰到无法分离,请先停掉服务再进行。
3、有关更多的技术分享,大家可以加入我们的技术群。
欢迎加入技术分享群:238916811
相关文章推荐
- 如何压缩SQL Server 2005指定数据库文件和日志的大小?
- 如何清空数据库日志文件
- 清空日志,压缩数据库快速便捷
- SQL2008如何压缩日志(log)文件?
- SQL2005、SQL2008如何压缩日志文件(log) 如何清除日志
- (转)如何压缩SQL Server 2005指定数据库文件和日志的大小?
- SQL Server 2000 数据库日志太大!如何管理,清除,变小,压缩它
- [转]SQL2008如何压缩日志(log)文件?
- sql2008中如何收缩数据库日志文件
- 如何清空数据库日志文件
- 如何清空数据库日志
- 如何清空数据库日志文件
- SQL Server 2000 数据库日志太大!如何管理,清除,变小,压缩它
- sql2008清空数据库日志文件
- SQL Server 2000 数据库日志太大!如何管理,清除,变小,压缩它
- 如何清空数据库日志文件
- 如何清空数据库日志文件?
- 清空数据库日志
- SQL Server 2005数据库日志文件损坏的情况下如何恢复数据库
- 压缩日志及数据库文件大小