日期:2014-05-18  浏览次数:20326 次

事务日志飞速增长,请问如何控制增长速度???
刚清理完空间,有了11G样子,没过几小时,日志猛增啊,有个库吃了大概4-5G的样子,该如何控制日志的增长的,这样的速度也太快拉把,是什么原因啊,
我的设置是,按百分比增长,8%;故障还原模型:简单
删也删的够累死人的拉!!!

------解决方案--------------------
在数据库的属性中有LOG文件大小的那个选项
默认是无限制
你选择下面的一个,输入2默认单位是MB
------解决方案--------------------
1: 删除LOG
1:分离数据库 企业管理器->服务器->数据库->右键->分离数据库
2:删除LOG文件
3:附加数据库 企业管理器->服务器->数据库->右键->附加数据库
此法生成新的LOG,大小只有500多K
再将此数据库设置自动收缩
或用代码:
下面的示例分离 pubs,然后将 pubs 中的一个文件附加到当前服务器。

EXEC sp_detach_db @dbname = 'pubs '
EXEC sp_attach_single_file_db @dbname = 'pubs ',
@physname = 'c:\Program Files\Microsoft SQL Server\MSSQL\Data\pubs.mdf '


2:清空日志
DUMP TRANSACTION 库名 WITH NO_LOG

再:
企业管理器--右键你要压缩的数据库--所有任务--收缩数据库--收缩文件--选择日志文件--在收缩方式里选择收缩至XXM,这里会给出一个允许收缩到的最小M数,直接输入这个数,确定就可以了

3: 果想以后不让它增长
企业管理器->服务器->数据库->属性->事务日志->将文件增长限制为2M


1、设置数据库为简单模式
--> 数据库的属性
--> “选项”页
--> “模型”选为“简单”

2、截断日志,收缩数据库
backup log 数据库名 with no_log
go

dbcc shrinkdatabase(数据库名)
go