关于网友提出的“ SQL server2008无法收缩日志”问题疑问,本网通过在网上对“ SQL server2008无法收缩日志”有关的相关答案进行了整理,供用户进行参考,详细问题解答如下:
问题: SQL server2008无法收缩日志
描述: 用的是网上普遍有的收缩代码
USE [master]
GO
ALTER DATABASE shujuku SET RECOVERY SIMPLE WITH NO_WAIT
GO
ALTER DATABASE shujuku SET RECOVERY SIMPLE --简单模式
GO
USE shujuku
GO
DBCC SHRINKFILE (N'shujuku_Log' , 11, TRUNCATEONLY)
GO
USE [master]
GO
ALTER DATABASE shujuku SET RECOVERY FULL WITH NO_WAIT
GO
ALTER DATABASE shujuku SET RECOVERY FULL --还原为完全模式
GO
最后收缩失败,失败信息如下:
无法收缩日志文件 2 (shujuku_log),因为该文件结尾的逻辑日志文件正在使用
始终无法收缩成功!服务器一直没压缩过日志 导致盘满了,最后没办法扩展了磁盘才临时解决了问题!
问下各位怎么在不中断业务的情况下,实现日志收缩!网上了查了很多,都是提供压缩方法的,但没有提及这个问题的。CSDN上以前有人发过这个问题。但好像也没人能给出解决方案,最后好像楼主把数据库分离后重新附加!但这样好像并不怎么妥当!
解决方案1: 一般不会出问题,如果出问题可能原因如下:
1,你的数据库服务器可能在非正常情况下,关机并重启过,会导致一部分文件一直被占用
2,如果你是手动收缩数据库,有时会失败,尝试把当前数据库的数据库类别改成“简单模式”,再尝试收缩
3,如果是你复制数据中的读取机,像你说的,没清理过,直接把硬盘占满了,导致sqlserver日志无处写,也会出问题
解决方案2: 是不是正在执行 数据操作由于空间不足没有完成事务,重启后又回滚不了所产生操作,在日志所在硬盘腾出空间,再做收缩动作
-----------
另一解决方法分离数据库,把日志文件删除或备份到其它盘符,只附加数据库文件,生成新日志文件
解决方案3:
这个是复制啊 你的机器以前做过复制。或者是修改过计算机名,而复制没有删除掉
以上介绍了“ SQL server2008无法收缩日志”的问题解答,希望对有需要的网友有所帮助。
本文网址链接:http://www.codes51.com/itwd/4104803.html