最近我的SQLServer数据库出了点问题,查看日志发现如下信息:2006-04-24 16:56:06.40 spid8     前滚了 21 个事务(在数据库 'msdb'(4)中。
2006-04-24 16:56:06.56 spid8     回滚了 0 个事务(在数据库 'msdb'(4)中。
2006-04-24 16:56:06.59 spid8     恢复操作正在对数据库 'msdb'(4)执行检查点操作。
2006-04-24 16:56:08.60 spid11    前滚了 1528 个事务(在数据库 'TSM'(7)中。
2006-04-24 16:56:08.73 spid11    回滚了 0 个事务(在数据库 'TSM'(7)中。
2006-04-24 16:56:08.78 spid11    恢复操作正在对数据库 'TSM'(7)执行检查点操作。其中的前滚和回滚是出了什么毛病,他们的区别是什么 。

解决方案 »

  1.   


    在应用事务日志时,事务将前滚。SQL   Server   将每次修改后的映象复制到数据库中,或者重新运行语句(如   CREATE   INDEX)。这些操作将按照其原始发生顺序进行应用。此过程结束后,数据库将处于与事务日志备份时相同的状态。   
        
        
      当收回未完成的事务时,事务将回滚。SQL   Server   将所有修改前的映象复制到   BEGIN   TRANSACTION   后的数据库。如果遇到表示执行了   CREATE   INDEX   的事务日志记录,则会执行与该语句逻辑相反的操作。这些前映象和   CREATE   INDEX   逆转将按照与原始顺序相反的顺序进行应用
      

  2.   

    to luoqun_ncs(暂时冰封) :
       为什么现在每次服务器启动,数据库都会前滚了 1千多个事务,这此时应用程序还没启动呢,只就是说对数据库没有任何操作,那这 1千多个事务是什么数据呢?
      

  3.   

    to:Poor(Haibo)请问你的数据库是怎么关闭的?
      

  4.   

    luoqun_ncs(暂时冰封) :
       正常关闭计算机,数据库跟着关闭了
      

  5.   

    用SHUTDOWN命令停止sql server实例,我估计直接关机它是执行SHUTDOWN with nowait
    你试一下
      

  6.   

    luoqun_ncs(暂时冰封) :   我现在晢时不在运行环境,以后再试试看,非常感谢您的解答!