【问题标题】:Rollback Transaction SQL回滚事务 SQL
【发布时间】:2012-12-24 02:15:04
【问题描述】:

我有一个 IIS 托管的 Python 应用程序,前端应用程序总是无法保存。

我注意到当 SQL Profiler 运行并且那些应用程序名称是 IIS 时,有很多事务计数超过 0 然后回滚。

有时它确实在事务计数大于 0 时提交。

我想知道这是什么意思,我在哪里可以找到执行此控件的脚本。

会不会是查询设计问题造成的?非常感谢您的任何建议。

IF @@TRANCOUNT > 0
        ROLLBACK TRANSACTION;

【问题讨论】:

    标签: python iis transactions rollback sql-server-profiler


    【解决方案1】:

    您发布的代码:

    IF @@TRANCOUNT > 0
       ROLLBACK TRANSACTION;
    

    说如果有任何事务处于活动状态则回滚。

    这可能不是你想要的!

    我怀疑你真正想要的是这个:

    IF @@TRANCOUNT > 0
       COMMIT TRANSACTION;
    

    【讨论】:

    • 很难知道这个问题是关于什么的。 OP 似乎可能正在使用 T-SQL,MSSQL Server 或 Sybase 方言。可以想象,ROLLBACK TRANSACTION 逻辑在错误处理中可能很有用,请参阅 MSSQL's TRY...CATCH documentation 以测试 XACT_STATE 以了解不可提交的事务。
    • 嗨,Mitch,我注意到在 SQL Profiler 中发现了很多事务回滚。特别是当最终用户在前端应用程序中同时保存记录时。
    • hi hardmath,但回滚最终导致前端应用程序无法保存。
    猜你喜欢
    • 2012-07-13
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2010-12-17
    相关资源
    最近更新 更多