适用于SQL 2005
DUMP TRANSACTION [数据库名] WITH NO_LOG
BACKUP LOG [数据库名] WITH NO_LOG
DBCC SHRINKDATABASE([数据库名])
SHRINKDATABASE 说明:
收缩指定数据库中的数据文件大小。
适用于SQL Server 2008的方法
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 USE [master] GO ALTER DATABASE DNName SET RECOVERY FULL WITH NO_WAIT GO ALTER DATABASE DNName SET RECOVERY FULL --还原为完全模式 GO
说明:优点:此清除日志所运行消耗的时间短。缺点:不过此动作最好不要经常使用,因为它的运行会带来系统碎片。普通状态下LOG和DIFF的备份即可截断日志。此语句使用的恰当环境:当系统的日志文件异常增大或者备份LOG时间太长可能影响生产的情况下使用。
查看该方法的原始出处可以点击这里。
---下面的 方法 也可以实现
use 数据库名
BACKUP LOG Finance to disk=数据库名
DBCC SHRINKFILE ('数据库名_log',1)