注:原文标题为:“SQL Server日志文件过大处理”,但初步尝试对2005以后版本应都适用。
由于安装的时候没有计划好空间,默认装在系统盘,而且又没有做自动备份、截断事务日志等,很快LDF文件就达到十几G,或者几十G ,此时就不得不处理了。
备份和计划就不说了,现在就说下怎么把它先删除吧:
1:先分离数据库
2:为了保险,先不要删除,把LDF文件重命名下
3:附件数据库。
4:OK。
以上可能遇到的问题:
1:有用户连接,无法分离(勾选“断开所有连接”)
2:附件数数据库的时候提示找不到LDF文件,不要慌,在附件的时候,把LDF的路径一项删除,然后点击"确定",这样就附件成功了,再去数据库数据目录下看看,LDF只有几百K,这是自动生成的,附件成功。
3:OK,附件成功,打开应用,看访问是否正常(如果数据库还要连接网络中的其他机器,这个时候需要修复下IP,或者禁用再启用就可以了,因为有时候修复的窗口总是关不掉),正常之后就可以把那个大大的文件给删除了。
当然,最好的办法还是事前计划好,设置好,添加个作业计划,这样以后就会自动备份,收缩之类的,控制在一定大小范围内。
学习之后,其他的简单处理方法:
1:清空日志
DUMP TRANSACTION 库名 WITH NO_LOG
2:收缩日志
企业管理器--右键点击你要收缩的数据库--所有任务--收缩数据库--收缩文件--选择日志文件--在收缩方式里选择收缩至**M,这里会给出一个允许收缩到的最小M数,直接输入这个数,确定就可以了(建议在200~300M,以防止需要恢复使用)
3: 删除LOG
1:分离数据库企业管理器->服务器->数据库->右键->分离数据库(有连接情况下勾选“断开所有连接”)
2:删除LOG文件
3:附加数据库企业管理器->服务器->数据库->右键->附加数据库
此法生成新的LOG,大小只有几百K。
再将此数据库设置自动收缩
4: 如果想以后不让它一直增长:
企业管理器--服务器--右键数据库--属性--事务日志--将文件增长限制为xM(x是你允许的最大数据文件大小)
--SQL语句的设置方式:
alter database 数据库名 modify file(name=逻辑文件名,maxsize=20)
5.设置为自动收缩
企业管理器--服务器--右键数据库--属性--选项--选择"自动收缩"
转自:http://www.cnblogs.com/Donkey/archive/2011/02/28/1966949.html