注意: 在收缩日志前必须截断事务日志。
一. SQL Server 2008 收缩日志
(1) 使用SQL管理器收缩日志
第一步执行如下命令
ALTER DATABASE dbname SET RECOVERY SIMPLE
GO
第二步使用SQL管理器:选择要收缩的数据库-->任务-->收缩-->文件
输入文件收缩到:* 大小,点击确认
第三步执行如下命令
ALTER DATABASE dbname SET RECOVERY FULL
GO
(2) 使用SQL语句执行数据库日志收缩
USE master
GO
ALTER DATABASE dbname SET RECOVERY SIMPLE WITH NO_WAIT GO ALTER DATABASE dbname SET RECOVERY SIMPLE GO USE dbname GO DBCC SHRINKFILE (N'dbname_Log' , 2, TRUNCATEONLY) GO USE master GO ALTER DATABASE dbname SET RECOVERY FULL WITH NO_WAIT GO ALTER DATABASE dbname SET RECOVERY FULL GO
通过以上命令可以将数据库日志文件收缩到2M,
DBCC SHRINKFILE (N'dbname_Log' , 2, TRUNCATEONLY) 指定收缩的日志文件名,以及收缩到的大小
二. SQL Server 2005 收缩日志
清空日志
DUMP TRANSACTION dbname WITH NO_LOG
收缩数据库日志文件
DBCC SHRINKFILE ('dbname_Log',1)
截断事务日志
BACKUP LOG dbname WITH NO_LOG