none
关于SQL SERVER 2008 R2的事务日志的疑问,看了很多,还是众说纷纭~~ RRS feed

  • 问题

  • 一、完全恢复模式下,在不同备份情况时,是否截断了日志?
    1、完全备份时
    2、差异备份时
    3、事务日志备份时
    二、截断日志后,
    1、在不改变完全恢复模式情况下,进行收缩,日志文件大小是不发生改变的,此时,日志文件内的日志是否删除了?
    2、改变完全恢复模式为简单模式,然后再从简单模式改为完全模式,没有进行收缩操作,此时,日志文件内的日志发生了变化没?
    3、改变完全恢复模式为简单模式,进行收缩,然后再改为完全模式,此是比较明确的,日志没有了,被删除了。
    三、截断日志的理解。
    如果日志a1部分被截断了,然后又产生了a2部分日志,那a1和a2部分的日志是连续的吗?在备份事务日志的时候,是两部分日志都备份吗?如果都备份,那在做时点还原时,可以还原到该两部分日志的任何时刻吗?
    2013年2月18日 9:22

答案

  • 一、完全恢复模式下,在不同备份情况时,是否截断了日志?
    1、完全备份时
    2、差异备份时
    3、事务日志备份时
    二、截断日志后,
    1、在不改变完全恢复模式情况下,进行收缩,日志文件大小是不发生改变的,此时,日志文件内的日志是否删除了?
    2、改变完全恢复模式为简单模式,然后再从简单模式改为完全模式,没有进行收缩操作,此时,日志文件内的日志发生了变化没?
    3、改变完全恢复模式为简单模式,进行收缩,然后再改为完全模式,此是比较明确的,日志没有了,被删除了。
    三、截断日志的理解。
    如果日志a1部分被截断了,然后又产生了a2部分日志,那a1和a2部分的日志是连续的吗?在备份事务日志的时候,是两部分日志都备份吗?如果都备份,那在做时点还原时,可以还原到该两部分日志的任何时刻吗?

    1.1 no

    1.2 no

    1.3 yes

    2.1 no

    2.2 yes

    3 you can't truncate log if db is not in simple recovery mode and you can't backup log if db is in simple recovery mode, so this scenario will not happen. If you change db from full recovery mode to simple (a1) and change back to full (a2), have to do full backup first before sql letting you backup log. In that case, a1 and a2 are not continues. But you still can do point of time recovery if you have both full backups.

    2013年2月19日 1:26

全部回复

  • LZ可以参考一下这几篇文章 有时候看官方的说明会比较清楚

    剖析SQL Server 事务日志的收缩和截断

    msdn:事务日志截断


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

    2013年2月18日 15:14
  • LZ可以参考一下这几篇文章 有时候看官方的说明会比较清楚

    剖析SQL Server 事务日志的收缩和截断

    msdn:事务日志截断


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


    在sql server 2008 r2下不是这样的。
    2013年2月18日 16:16
  • 截断日志还要考虑Replication和Database mirroring,和普通的日志备份有差异。
    2013年2月19日 1:22
  • 一、完全恢复模式下,在不同备份情况时,是否截断了日志?
    1、完全备份时
    2、差异备份时
    3、事务日志备份时
    二、截断日志后,
    1、在不改变完全恢复模式情况下,进行收缩,日志文件大小是不发生改变的,此时,日志文件内的日志是否删除了?
    2、改变完全恢复模式为简单模式,然后再从简单模式改为完全模式,没有进行收缩操作,此时,日志文件内的日志发生了变化没?
    3、改变完全恢复模式为简单模式,进行收缩,然后再改为完全模式,此是比较明确的,日志没有了,被删除了。
    三、截断日志的理解。
    如果日志a1部分被截断了,然后又产生了a2部分日志,那a1和a2部分的日志是连续的吗?在备份事务日志的时候,是两部分日志都备份吗?如果都备份,那在做时点还原时,可以还原到该两部分日志的任何时刻吗?

    1.1 no

    1.2 no

    1.3 yes

    2.1 no

    2.2 yes

    3 you can't truncate log if db is not in simple recovery mode and you can't backup log if db is in simple recovery mode, so this scenario will not happen. If you change db from full recovery mode to simple (a1) and change back to full (a2), have to do full backup first before sql letting you backup log. In that case, a1 and a2 are not continues. But you still can do point of time recovery if you have both full backups.

    2013年2月19日 1:26
  • 这种疸, 以微软提供的官方文档(联机帮助为准)就对了

    http://msdn.microsoft.com/zh-cn/library/ms189085(v=sql.105).aspx

    2013年2月19日 1:58
  • 这种疸, 以微软提供的官方文档(联机帮助为准)就对了

    http://msdn.microsoft.com/zh-cn/library/ms189085(v=sql.105).aspx


    是啊,很多书籍的解释或者答案都是从msdn拷贝过来的,最好还是看一下msdn

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

    2013年2月19日 2:22
  • 一、完全恢复模式下,在不同备份情况时,是否截断了日志?
    二、截断日志后,
    三、截断日志的理解。

    一、)完全备份或者差异备份时不会截断日志;事务日志只在它不被其他操作需要的时候才会被截断,所以事务日志备份时也不一定会截断,比如被备份的日志对应的transaction还没有提交,或者Replication、Database mirroring 依然需要它的时候。

    二、)改变完全恢复模式为简单模式会截断事务日志链,所以日志发生了变化。收缩不会对事务日志本身产生影响,但是会改变log file 的大小。

    三、) 是,是,是。



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

    2013年2月19日 2:38
  • 刚好宋大侠在博客园里写了一篇文章 LZ可以看一下

    SQL Server误区30日谈-Day30-有关备份的30个误区

    http://www.cnblogs.com/CareySon/archive/2013/02/20/2918203.html#top


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

    2013年2月21日 13:10