在sql Server 2000/2005中可以快速压缩日志log文件,通过sql,
方法一:
但是以上语句中前两行在sql Server 2008下无法执行 ,
第一行提示“Incorrect Syntax near the keyword 'TRANSACTION'.”
第二行提示“One or more of the options (no_log) are not supported for this statement. Review the documentation for supported options. ”
第三行可以执行。但日志log文件没有任何变化。
原来sql Server 2008 已经不再支持 DUMP TRANSACTION和BACKUP LOG WITH NO_LOG,详情请看
http://msdn.microsoft.com/zh-cn/library/ms187315%28SQL.90%29.aspx
http://msdn.microsoft.com/zh-cn/library/ms186865.aspx
sql Server 2005说明中明确:包含 DUMP 语句是为了向后兼容。而 后续版本的 Microsoft sql Server 将删除该功能。请避免在新的开发工作中使用该功能,并着手修改当前还在使用该功能的应用程序。 使用 BACKUP。
sql Server 2008说明:BACKUP LOG WITH NO_LOG 和 WITH TruncATE_ONLY 选项已废止。使用完整恢复模式或大容量日志恢复模式时,如果必须删除数据库中的日志备份链,请切换至简单恢复模式。有关详细信息,请参阅有关从完整恢复模式或大容量日志恢复模式切换的注意事项。
尝试方法二:
-- CMS1.5_Data CMS1.5_Log SHRINKFILE (N ' CMS1.5_Log ' , 1 )
GO
无效。
尝试方法三:
每一行指令请单独执行。其中的DB_NAME是指Database Name,在执行完语法后的数小时至数十小时,该LOG档会逐渐释放空间,最后大约都会维持在数1024KB左右。
有没有更快的方法呢?
1. Detach数据库。
2.删除log文件。
3. 附加数据库,选移除log文件,此时sql Server 会自动重新建立一个512K 的Log 文件。
附图:
方法五(没有试过,请提前备份文件!!):
1. 停止 sql Server 的服务
2. 使用删除 Log文件
3. 重新启动sql Server 服务,此时sql Server 会自动重新建立一个1MB 的Log 文件。
方法六: (尘尘提供)
先设置恢复模式为“简单恢复”模式,再收缩:
GO
ALTER DATABASE BigData
SET RECOVERY SIMPLE; 设置简单恢复模式 SHRINKFILE (BigData_Log,0)">);
RECOVERY FULL ; 恢复为原模式
方法七: (
DATABASENAME TO disK = d:\test.bak Shrink the truncated log file to 1 MB. SHRINKFILE (Bigdata_Log,sans-serif; font-size:13px; line-height:23px"> 转载自:http://www.cnblogs.com/downmoon/archive/2009/12/13/1623004.html
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。