手机
当前位置:查字典教程网 >编程开发 >mssql数据库 >清理SQL Server 2008日志文件Cannot shrink log file 2 的解决方案
清理SQL Server 2008日志文件Cannot shrink log file 2 的解决方案
摘要:SQL2008日志文件占了23G硬盘空间,而事务日志已经截断(Truncate),实际日志内容很小,1G都不到,想要释放日志文件霸占的多余空...

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数据库,这时会提示找不到日志文件

清理SQL Server 2008日志文件Cannot shrink log file 2 的解决方案1

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

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

Detach数据库

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

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

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

【清理SQL Server 2008日志文件Cannot shrink log file 2 的解决方案】相关文章:

SQL Server 2005 中做全文检索的方法分享

SQL Server压缩日志及数据库文件大小

通过SQLServer 2008 操作 MySQL的方法

SQL Server 2005与sql 2000之间的数据转换方法

SQL Server 2005/2008 导入导出数据常见报错解决方法

SQLServer2005 没有服务器名称的两种解决方法

SQLserver 2008将数据导出到Sql脚本文件的方法

SQL Server 2005的cmd_shell组件的开启方法

SQL Server 日志文件清理

SQLServer 2005 列所有存储过程的语句

精品推荐
分类导航