在SQL Server中经常遇到事务日志变大的情况,除了将数据库设置为“自动收缩”外,还可以使用下面的SQL命令进行快速清除数据库中的事务日志,命令如下:
- 第一步:清空日志
DUMP TRANSACTION
databasename
WITH
NO_LOG
-- 第二步:截断事务日志
BACKUP LOG
databasename
WITH
NO_LOG
-- 第三步:收缩数据库
DBCC SHRINKDATABASE(databasename)
需要说明几点:
1. 上面的SQL命令需要按照顺序执行;
2. 执行上面的命令通常比直接使用右键菜单中的“收缩”命令要快很多
执行语句(建议执行前先备份一下数据库,防止意外):
DUMP Transaction dnn with no_log
backup log dnn with no_log
dbcc shrinkdatabase(dnn)