none
完整备份能截断日志吗? RRS feed

答案

全部回复

  • 不会的吧.

    只有事务日志备份才会截断日志的吧


    If you haven't all the things you want,be grateful for the things you don't have that you didn't want.

    2012年11月12日 2:34
  • 不!

    唯一能让那个日志截断的是日志备份。

    原因:完全备份只是读取必要的日志记录,用来在恢复的时候,保证数据库事务的一致性,其他的日志并没有被备份。

    Please click the Mark as Answer button if a post solves your problem!


    2012年11月12日 2:54
  • 不!

    唯一能让那个日志截断的是日志备份。

    原因:完全备份只是读取必要的日志记录,用来在恢复的时候,保证数据库事务的一致性,其他的日志并没有被备份。

    Please click the Mark as Answer button if a post solves your problem!



    虽然你的结论没错。但是原因不对。完全备份,或者说叫数据库备份,包含当时的完整日志。

    想不想时已是想,不如不想都不想。

    2012年11月12日 6:09
    版主
  • 要备份事务日志才能截断,最好定期备份,这样可以释放一些硬盘空间


    给我写信: QQ我:点击这里给我发消息

    2012年11月12日 6:40
  • 不!

    唯一能让那个日志截断的是日志备份。

    原因:完全备份只是读取必要的日志记录,用来在恢复的时候,保证数据库事务的一致性,其他的日志并没有被备份。

    Please click the Mark as Answer button if a post solves your problem!



    虽然你的结论没错。但是原因不对。完全备份,或者说叫数据库备份,包含当时的完整日志。

    想不想时已是想,不如不想都不想。

    完全备份,或者数据库备份,并不包含当时的完整日志。

    完全备份,或者数据库备份中包含的日志的开始点为下面个3个LSN中的最小者:

    最后一个checkpoint的LSN,
    最老活动事务日志的的起始LSN
    最后一个复制事务的LSN



    Please click the Mark as Answer button if a post solves your problem!

    2012年11月12日 7:13
  • 谢谢大家,微软有没有讲到这个问题呀,虽然看到了关于截断点的描述,但是没有提到完整备份能不能截断事务日志。如果我想自己做实验来验证,我如何看事务日志的变化。
    2012年11月12日 7:17
  • 数据库分数据文件跟事务日志文件

    数据文件保存的是数据库里的数据

    而事务日志保存的是数据库里的一些事务的状态

    完整备份不会备份事务日志

    差异备份会备份事务日志

    日志备份会备份事务日志,但是要还原事务日志的话还要进行一次备份日志尾部,并使数据库处于还原状态

    不过讨论这个好像把话题扯远了


    给我写信: QQ我:点击这里给我发消息

    2012年11月12日 7:19
  • 我做的一个实验。如下:(数据库备份后,日志明显少了,是不是说明备份后日志截断了呢)

    1、在备份数据库前的日志文件

      dbcc log(ReportServer$MSSQL2008,4)                      --实际上有480条日志记录

    2、执行完back后的日志文件                                     --只有10条日志记录

    backup database ReportServer$MSSQL2008 to disk = 'D:\temp\cutlog.bak'

    ???图怎么穿不上来呀???

    2012年11月12日 7:36
  • backup log是备份数据库事务日志的意思,backup database数据库备份的意思

    所以要截断事务日志应该是这样写:BACKUP LOG  yourdb  TO DISK='c:\yourdb.bak'

    图片可以上传上来啊


    给我写信: QQ我:点击这里给我发消息

    2012年11月12日 8:06
  • 是的,我同意Jackie的说法

    完整备份不会包含完整的日志。

    2012年11月12日 9:19
  • 宋大哥仰慕你很久了!!

    我经常关注你在博客园里的文章


    给我写信: QQ我:点击这里给我发消息


    2012年11月12日 9:31
  • 桦仔:

       你好!谢谢你的回答。

       我上传图片就报错,提示需要"*** be avaible to verify your account "的信息。

       你说完整备份时不截断事务日志的,但是为什么我完整备份后日志信息明显减少呢?你没有回答我这个问题,你可以在你机子上尝试下。我很纳闷!难道只是碰巧吗?

    2012年11月12日 9:55
  • 测试了,反而多了50条记录 ,备份前5555条记录,备份后5605条记录


    给我写信: QQ我:点击这里给我发消息

    2012年11月12日 11:57

  • 给我写信: QQ我:点击这里给我发消息

    • 已标记为答案 i6first 2012年11月12日 14:14
    2012年11月12日 11:57
  • 上传图片问题,你可以联系一下斑竹或者amy peng大侠


    给我写信: QQ我:点击这里给我发消息

    2012年11月12日 12:00
  • For this question, I would suggest to read Paul's article:http://www.sqlskills.com/BLOGS/PAUL/post/Misconceptions-around-the-log-and-log-backups-how-to-convince-yourself.aspx

    he FULL recovery model means that every part of every operation is logged, which is called being fully logged. Once a full database backup has been taken in the FULL recovery model, the transaction log will not automatically truncate until a log backup is taken. If you do not want to make use of log backups and the ability to recover a database to a specific point in time, do not use the FULL recovery model. However, if you wish to use database mirroring, then you have no choice, as it only supports the FULL recovery model.

    2012年11月12日 12:32
  • 我做的一个实验。如下:(数据库备份后,日志明显少了,是不是说明备份后日志截断了呢)

    1、在备份数据库前的日志文件

      dbcc log(ReportServer$MSSQL2008,4)                      --实际上有480条日志记录

    2、执行完back后的日志文件                                     --只有10条日志记录

    backup database ReportServer$MSSQL2008 to disk = 'D:\temp\cutlog.bak'

    ???图怎么穿不上来呀???


    What's recovery mode of the db? If it's in simple recovery mode, sql will truncate log on checkpoint. It's nothing to do with full backup.
    2012年11月12日 14:25
  • 那么按照rmiao大侠所说,LZ的数据库有可能是简单恢复模式

    给我写信: QQ我:点击这里给我发消息

    2012年11月12日 14:47