当前位置: 首页 > 图文教程 > 数据库 > MSSQL > 清除SQLServer日志的两种方法

MSSQL
正确配置和使用SQL mail
关于DTS导入导出丢失默认值等对象
TOP N 和SET ROWCOUNT N 哪个更快
如何在视图中使用ORDER BY短语
如何区分大小写比较?
如何将作为字符串保存的IP地址变为二进制数值?
如何随机选取n条记录或者对记录作随机排序?
SQL脚本生成的一些BUG
如何使Microsoft SQL Server的日志文件不会增大?
利用事务日志来恢复Update、Delete误操作引起的数据丢
关于MSSQL占用过多内存的问题
SQL Server非正常删除日志文件(ldf)恢复方法
处理孤立用户的存储过程
1069错误(由于登录失败而无法启动服务)解决方法
SQL Server 7.0数据库的六种数据移动方法
利用SQL Server的扩展属性象access一样显示列的注释
Stored Procedure(存储过程)编写经验和优化措施
更新你的联机丛书
关于SQL Server中几个未公布的访问注册表的扩展存储过
存储过程替换text,ntext列中的字符串

MSSQL 中的 清除SQLServer日志的两种方法


出处:互联网   整理: 软晨网(RuanChen.com)   发布: 2009-09-13   浏览: 140 ::
收藏到网摘: n/a

日志文件满而造成SQL数据库无法写入文件时,可用两种方法:
一种方法:清空日志。
1.打开查询分析器,输入命令
DUMP TRANSACTION 数据库名 WITH NO_LOG
2.再打开企业管理器--右键你要压缩的数据库--所有任务--收缩数据库--收缩文件--选择日志文件--在收缩方式里选择收缩至XXM,这里会给出一个允许收缩到的最小M数,直接输入这个数,确定就可以了。
另一种方法有一定的风险性,因为SQL SERVER的日志文件不是即时写入数据库主文件的,如处理不当,会造成数据的损失。
1: 删除LOG
分离数据库 企业管理器->服务器->数据库->右键->分离数据库
2:删除LOG文件
附加数据库 企业管理器->服务器->数据库->右键->附加数据库
此法生成新的LOG,大小只有500多K。
注意:建议使用第一种方法。
如果以后,不想要它变大。
SQL2000下使用:
在数据库上点右键->属性->选项->故障恢复-模型-选择-简单模型。
或用SQL语句:
alter database 数据库名 set recovery simple
另外,Truncate log on checkpoint(此选项用于SQL7.0,SQL 2000中即故障恢复模型选择为简单模型)当执行CHECKPOINT 命令时如果事务日志文件超过其大小的70% 则将其内容清除在开发数据库时时常将此选项设置为True Auto shrink定期对数据库进行检查当数据库文件或日志文件的未用空间超过其大小的25%时,系统将会自动缩减文件使其未用空间等于25% 当文件大小没有超过其建立时的初始大小时不会缩减文件缩减后的文件也必须大于或等于其初始大小对事务日志文件的缩减只有在对其作备份时或将Truncate log on checkpoint 选项设为True 时才能进行。
注意:一般立成建立的数据库默认属性已设好,但碰到意外情况使数据库属性被更改,请用户清空日志后,检查数据库的以上属性,以防事务日志再次充满。