在SQL Server中经常遇到事务日志变大的情况,除了将数据库设置为“自动收缩”外,还可以使用下面的SQL命令进行快速清除数据库中的事务日志,命令如下:

- 第一步:清空日志


DUMP TRANSACTION

  databasename

  WITH

  NO_LOG


-- 第二步:截断事务日志


BACKUP LOG

  databasename

  WITH

  NO_LOG


-- 第三步:收缩数据库


DBCC SHRINKDATABASE(databasename)



需要说明几点:

1. 上面的SQL命令需要按照顺序执行;

2. 执行上面的命令通常比直接使用右键菜单中的“收缩”命令要快很多


参考资料:

SQL SERVER 数据库日志已满,如何收缩数据库日志

http://blog.csdn.net/faintbear/archive/2005/02/06/283316.aspx

如何收缩数据库日志

http://www.cndiy8.com/data/web5701/20050228/20050228__3794589.html