视频1 视频21 视频41 视频61 视频文章1 视频文章21 视频文章41 视频文章61 推荐1 推荐3 推荐5 推荐7 推荐9 推荐11 推荐13 推荐15 推荐17 推荐19 推荐21 推荐23 推荐25 推荐27 推荐29 推荐31 推荐33 推荐35 推荐37 推荐39 推荐41 推荐43 推荐45 推荐47 推荐49 关键词1 关键词101 关键词201 关键词301 关键词401 关键词501 关键词601 关键词701 关键词801 关键词901 关键词1001 关键词1101 关键词1201 关键词1301 关键词1401 关键词1501 关键词1601 关键词1701 关键词1801 关键词1901 视频扩展1 视频扩展6 视频扩展11 视频扩展16 文章1 文章201 文章401 文章601 文章801 文章1001 资讯1 资讯501 资讯1001 资讯1501 标签1 标签501 标签1001 关键词1 关键词501 关键词1001 关键词1501 专题2001
清理SQLServer2008日志文件
2020-11-09 13:53:16 责编:小采
文档

SQL 2008日志文件占了23G硬盘空间,而事务日志已经截断(Truncate),实际日志内容很小,1G都不到,想要释放日志文件霸占的多余空间。 但是,无论怎么收缩(Shrink)日志文件,空间就是不能释放,总是出现错误: Cannot shrink log file 2 (CNBlogsText_log) bec

  SQL 2008日志文件占了23G硬盘空间,而事务日志已经截断(Truncate),实际日志内容很小,1G都不到,想要释放日志文件霸占的多余空间。

  但是,无论怎么收缩(Shrink)日志文件,,空间就是不能释放,总是出现错误:

  Cannot shrink log file 2 (CNBlogsText_log) because of minimum log space required.

  之前解决过类似的问题,也写过一篇博客-SQL Server 2008事务日志清理,当时采用的最终解决方法是:

  将恢复模式由完整(Full)改为简单(Simple)

  收缩(Shrink)日志文件

  将恢复模式由简单(Simple)改为完整(Full)

  一直以为这就是终极方法,但是竟然没能终结这次遇到的问题。

  经过不懈的努力,终于找到真正的终极方法:

  1. Detach数据库(Detach之前一定要屏蔽所有对这个数据库的写入操作)

  2. 删除或重命名日志文件

  3. Attach数据库,这时会提示找不到日志文件

  4. 移除(Remove)这个找不到的日志文件,然后点击Ok进行Attach,SQL Server会在数据文件所在的文件夹自动创建一个新的日志文件完成Attach。

  5. 如果日志文件需要存放在另外的路径,要再通过Detach/Attach进行日志文件的移动操作。

  Detach数据库

  将日志文件移动至新的位置

  Attach数据库,修改日志文件的路径并完成Attach

  该终极方法的弊端是在操作期间,被操作的数据库不能被正常访问。

下载本文
显示全文
专题