1: 删除LOG
1:分离数据库
2:删除LOG文件
3:附加数据库
此法生成新的LOG,大小只有500多K
   再将此数据库设置自动收缩
2:清空日志
DUMP  TRANSACTION  库名  WITH  NO_LOG    再:
企业管理器--右键你要压缩的数据库--所有任务--收缩数据库--收缩文件--选择日志文件--在收缩方式里选择收缩至XXM,这里会给出一个允许收缩到的最小M数,直接输入这个数,确定就可以了

解决方案 »

  1.   

    方法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文件,再数据库右键-》所有任务-》附加数据库,即可,会重新生成日志文件。
      

  2.   

    如果是SQL2000 在数据库的选项设置恢复模型为简单模式
    如果是 SQL 7.0 在数据库的 option 中在 truncate log on checkpoint 前划勾
    就可一劳永逸了
      

  3.   

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