假设有一个数据库,是SQL server的,日志文件里有所有时间的日志,现在想删除1月5号这一天的日志内容,或者更准确的说删除1月5号晚上8点到10点的日志,请问有什么办法?
本人通过SQL Log Explorer可以查到所有时间的日志信息

解决方案 »

  1.   

    以前有人问过删除指定日志
    http://topic.csdn.net/u/20071019/00/025924e8-7f88-4839-bb8c-4493a286edcd.html
      

  2.   


    declare @dbname sysname --数据库名--1.清空日志
    exec('DUMP TRANSACTION ['+@dbname+'] WITH NO_LOG')--2.截断事务日志:
    exec('BACKUP LOG ['+@dbname+'] WITH NO_LOG')--3.收缩数据库文件(如果不压缩,数据库的文件不会减小
    exec('DBCC SHRINKDATABASE(['+@dbname+'])')--4.设置自动收缩
    exec('EXEC sp_dboption '''+@dbname+''',''autoshrink'',''TRUE''')
      

  3.   

    SQLServer日志的目的是 SQLServer本身维护事务一致性使用的
    有一些第三方工具能看看就已经很不错了,怎么还要按时间删除啊。。
      

  4.   

    你的假设不存在,你这样的做法是不可能的,事务日志不可以被按时间点删除,他的切断点是CHECKPOINT
      

  5.   

    要是出了问题拿log explorer 恢复错误数据吧,别一错再错!