百翔网络分享-SQL Server 2005 日志文件过大处理办法
百翔网络成立于2011年4月,从2006年开始从事西安域名注册、空间租用、网站建设、网站优化等业务,截至2013年,百翔网络八年西安网站建设、网站营销经验,服务了数千家政府、学校、中小企业:http://www.fly810.com
SQL Server 2005 日志文件过大 导致查询时提示:
System.Data.OleDb.OleDbException: 超时已过期
[OleDbException (0x80040e31): 超时已过期]
处理办法:
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.设置为自动收缩
企业管理器--服务器--右键数据库--属性--选项--选择"自动收缩"
注意一定要按照步骤来做,如果不执行第一步【清空日志】:DUMP TRANSACTION 库名 WITH NO_LOG,则【收缩日志】会无效