【问题标题】:Uncommitted transaction asking every time in SQL Server 2012SQL Server 2012 中每次都询问未提交的事务
【发布时间】:2020-02-03 03:24:50
【问题描述】:

我遇到的问题是,每当我打开 SQL 窗口并运行任何 SQL 事务(插入、更新或删除或过程中的任何修改)时,它都会询问未提交的事务。

如何永久解决此问题?

【问题讨论】:

  • 请提供更多信息
  • “SQL 窗口”是什么意思? SQL Server 管理工作室 ??
  • 有未提交的事务。您是否希望在关闭窗口之前提交此事务

标签: sql sql-server sql-server-2012 transactions ssms


【解决方案1】:

听起来你可能打开了SET IMPLICIT_TRANSACTIONS

这将在遇到诸如插入、更新或删除等语句并且没有打开事务并且需要显式commitrollback 时隐式打开一个新事务。

由于 ANSI 默认设置,隐式事务可能会意外打开。有关详细信息,请参阅 SET ANSI_DEFAULTS (Transact-SQL)。 IMPLICIT_TRANSACTIONS ON 不流行。在 IMPLICIT_TRANSACTIONS 为 ON 的大多数情况下,这是因为选择了 SET ANSI_DEFAULTS ON。

您需要进入连接属性并确保您没有显式或隐式启用隐式事务。

【讨论】:

  • 我只是在 tools-option-sql server-ANSI-setimplicit_transactions off 中取消勾选 Implicit_transactions
  • @wasim - 很高兴听到。不要忘记勾选解决您问题的答案
【解决方案2】:

当您使用BEGIN TRANSACTION 时,您还需要COMMIT TRANSACTION(如果它已正确完成所有您想要的工作)或ROLLBACK TRANSACTION(如果出现问题并且您想返回到事务开始之前的状态) .

阅读交易here

【讨论】:

    猜你喜欢
    • 2018-04-27
    • 1970-01-01
    • 2014-05-04
    • 2015-07-27
    • 2011-02-22
    • 1970-01-01
    • 2018-09-19
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多