截断事务日志 
delete ***
go
backup log datebasename with no_log
go

解决方案 »

  1.   

    TRUNCATE TABLE
    删除表中的所有行,而不记录单个行删除操作。 
      

  2.   

    我只是删除掉部分满足条件的数据啊,至少有上万条,如删除时向log文件中写会非常慢,而且磁盘空间也不允许了,所以我要的是在删除时不往log文件中写。
      

  3.   

    试试 exec sp_dboption yourDB,'trunc. log on chkpt.',true
    就可以在INSERT,UPDATE,DELETE时不写日志了
      

  4.   

    sp_dboption 
    trunc. log on chkpt.
    当为 true 时,如果数据库处于日志截断模式,则检查点将截断日志中非活动的部分。只能为 master 数据库设置此选项。
      

  5.   

    'trunc. log on chkpt.' = true,不是不写,而是事务完成后再截断,你如果一次删除上万条,那是一个事务,log 仍然不够。
      

  6.   

    早就遇到这个问题了,有时候性能要求较高的场合,的确需要截断日志。]
    但好像SQL Server不能提供这种临时性(或者永久性)中止update\insert\delete操作日志的功能,只能对批量操作和写大字段操作不及录日志。
      

  7.   

    看来我只有先用DBCC SHRINKDATABASE (MyDataBase,5,TRUNCATEONLY)将日志文件收缩,再分批删除数据了。
    结账!