1*你应该备份日志
BACKUP LOG 数据库名 TO DISK='c:\aalogbak' WITH INIT,NO_TRUNCATE
这样你的日志清空也备份了,日志也清空了,你可以压缩了
在维护日志备份序列时,调度 BACKUP LOG 语句按间隔发生,以使事务日志不致增长到超过预期的大小。
如果不想要日志或者是日志已没有什么作用时,可以考虑以下的实现方案:
1. backup log DBNAME with [no_log|truncate_only][no_truncate]
/*
NO_LOG | TRUNCATE_ONLY
无须备份复制日志即删除不活动的日志部分,并且截断日志。该选项会释放空间。因为并不保存日志备份,所以没有必要指定备份设备。NO_LOG 和 TRUNCATE_ONLY 是同义的。
使用 NO_LOG 或 TRUNCATE_ONLY 备份日志后,记录在日志中的更改不可恢复。为了恢复,请立即执行 BACKUP DATABASE。
NO_TRUNCATE
允许在数据库损坏时备份日志。
*/
2. 收缩数据库文件
select fileid,filename from sysfiles
USE DBNAME
DBCC SHRINKFILE (2,10) -- 把fileid=2 的文件收缩到 10 MB
OR
企业管理器-右键你要压缩的数据库-所有任务-收缩数据库-收缩文件-选择日志文件-在收缩方式里选择收缩至XXM,这里会给出一个允许收缩到的最小M数,直接输入这个数,确定就可以了
3: 删除LOG
1:分离数据库
2:删除LOG文件
3:附加数据库
此法生成新的LOG,大小只有500多K
转载于:https://www.cnblogs.com/xuxu7325/archive/2004/12/29/83704.html