今天服务器一直很卡,暂未找到真正原因的时候想起来清理一下数据库LOG日志。
看了一下。8XXXXX多的KB。
大苹果发给我如下可以不停止sqlserver就能操作的帖子:
方法1、
--在查询分析器,选中所要清理日志的数据库,执行如下SQL
backup log 数据库名 with no_log
DBCC SHRINKFILE ( 日志文件名或日志文件ID,要缩小的目标大小,例子如下)
在当前数据库下
select fileid,groupid,name from sysfiles where groupid=0
----------------------------------------------------------
得到以下结果
fileid | groupid | name |
2 | 0 | test_log |
以上结果,fileid为日志文件ID,name为test_log
你可以
backup log test with no_log
dbcc shrinkfile (2,2)
or
backup log test with no_log
dbcc shrinkfile ('test_log',2)
如果以后,不想要它变大,在数据库上点右键->属性->选项->故障恢复 模型 选择 简单模型就可以了!
或用SQL语句
alter database 数据库名 set recovery simple
方法2、
SQL SERVER企业管理器-》SQL SERVER组-》服务器-》数据库-》选中数据库实体-》右键-》所有任务-》分离数据库,
然后到数据库所在物理路径下删除.ldf文件,再数据库右键-》所有任务-》附加数据库,即可,会重新生成日志文件。
---------------------------------------------------------------------------------------------------
对于SQL 7.0以上两种方法可能不行,SQL SERVER企业管理器-》右键数据库-》所有任务-》截断数据库日志,按操作进行即可!
如何限制其增长?
SQL SERVER企业管理器-》右键数据库-》属性-》事务日志选项页-》选中将文件增长限制为:
输入你要的数