在SQL Server中經(jīng)常遇到事務(wù)日志變大的情況,除了將數(shù)據(jù)庫設(shè)置為“自動收縮”外,還可以使用下面的SQL命令進(jìn)行快速清除數(shù)據(jù)庫中的事務(wù)日志,命令如下:
- 第一步:清空日志
DUMP TRANSACTION
databasename
WITH
NO_LOG
-- 第二步:截斷事務(wù)日志
BACKUP LOG
databasename
WITH
NO_LOG
-- 第三步:收縮數(shù)據(jù)庫
DBCC SHRINKDATABASE(databasename)
需要說明幾點:
1. 上面的SQL命令需要按照順序執(zhí)行;
2. 執(zhí)行上面的命令通常比直接使用右鍵菜單中的“收縮”命令要快很多
執(zhí)行語句(建議執(zhí)行前先備份一下數(shù)據(jù)庫,防止意外):
DUMP Transaction dnn with no_log
backup log dnn with no_log
dbcc shrinkdatabase(dnn)