回滚,save transaction 在断电点

解决方案 »

  1.   

    SET XACT_ABORT ON
      开始事务    操作1
        操作2    断电      
        操作3  提交事务。
      

  2.   

    其他客户也在操作相同的表,A,B,C都在操作,B,C等待A操作完成,A提交到一半断了。抱歉,我语句没组织好。每个回复肯定给分,分不够再开贴给
      

  3.   

    rollback 
    事务失败,操作1,操作2没有生效
      

  4.   

    不含糊!客户机断电,服务器在检查到客户机的一次会话操作已经结束时,自动回滚事务.服务器端点,在再次启动服务器时服务器自动回滚事务.总之,两种情况你都不用操心.解释一下,通俗地说,"会话"就是ADO或者ADO.NET的同一connect对象所维持的那一段客户机遇服务器之间的联系状态.要操心的反而是:如果并没有断电,但是的事务处理所花费的时间太长(既没有提交也没有回滚),那么事务中锁住的记录会过分阻塞其他命令.
      

  5.   

    不用想得太多,只要用最基本的事务处理方式处理就好了,不要什么SET或者SAVE,画蛇添足反而不好。在服务器断电时或者网络中断时,客户机程序会出错。你可以让客户端程序退出(用户因此而重新启动),或者在“异常处理”代码中遇到网络故障时尝试重新连接服务器,这是普通的客户端编程,不在这个论坛过细讨论了。服务器端则一旦自动回滚事务以后,它就继续正常地运转。服务器被设计成可以在无人职守的状态下一直可靠地运行的。绝对不需要客户端去“检查日志再回滚”。
      

  6.   

    服务器会自动ROLLBACK的,不需要你编程实现,这是DMBS的事情。而且在没有执行COMMIT前,任何内容都不会改变TABLE中的记录。
      

  7.   

    ROLLBACK  没问题的
    操作1
        操作2 对数据库的更改操作都会回滚的
      

  8.   

    开始事务    操作1
        操作2    断电      
        操作3  提交事务。下次启动系统时,sql server检查LOG日志文件与数据库文件,如果Log日志后面有commit单词,检查数据库文件与日志中的更改不同(如:系统提交后事务还没有执行完)系统前滚,如果事务未提交就断电了,系统回滚。如果事务做的事情较多可以设置savePoint,具体开帮助。