sql server里执行delete或者update操作产生大量事务日志,导致空间不够,执行失败,能不能设置此类动作时不生成事务日志的

清空log文件


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


自动收缩日志,也可以用下面这条语句
ALTER   DATABASE   数据库名
SET   AUTO_SHRINK   ON

故障还原模型改为简单,用语句是
USE   MASTER
GO
ALTER   DATABASE   数据库名   SET   RECOVERY   SIMPLE
GO
posted @ 2011-07-10 18:22  俗雅冰山  阅读(2827)  评论(0编辑  收藏  举报