sql server在使用中每次查询都会生成日志,日志日积月累,就会越来越大, 如果你长久不去清理,可能整个硬盘都会占满,不尽会占用很大的空间,另外也会导致硬盘空间不够,数据库损坏,也会增加数据库备份占用的空间。
有一些第三方工具可以快速清空Sql server的日志(对sql server2000 sql server2005 ,sql server2008, sql server2012均有效)
但其实这些工具的原理也以下代码都差不多。
那如何在SQL Server2008中瞬间清除日志呢?
原理就是 在SQL2008中清除日志就必须在简单模式下进行,等清除动作完毕再调回到完全模式
例如 你要清除的数据库名称为 exam
USE [master]
GO
ALTER DATABASE exam SET RECOVERY SIMPLE WITH NO_WAIT
GO
ALTER DATABASE exam SET RECOVERY SIMPLE --简单模式
GO
USE exam
GO
DBCC SHRINKFILE (N'exam_Log' , 11, TRUNCATEONLY)
GO
USE [master]
GO
ALTER DATABASE exam SET RECOVERY FULL WITH NO_WAIT
GO
ALTER DATABASE exam SET RECOVERY FULL --还原为完全模式
GO