弱电之家 发表于 2008-7-7 11:54:50

清除SQLServer日志的三种方法

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