在sql中更新表后,它们在第二天回滚

时间:2012-12-12 07:17:35

标签: sql-server sql-server-2008

每当我更新SQL Server中的表行时,更新都会成功运行,我也会确认并显示行已更新。但是,第二天,当我检查时,我发现我所做的更新已经回滚。我还检查了是否有任何交易已开启但没有交易。我没有在事务中运行我的更新语句,因此我不必在之后提交任何事务。 这已经发生了一段时间,这真的很烦人。

任何帮助都将受到高度赞赏。

1 个答案:

答案 0 :(得分:0)

您正在使用的服务器或数据访问机制(即ADO.NET)可能未配置为自动提交事务。 This MSDN site个州;

  

自动提交模式是SQL的默认事务管理模式   服务器数据库引擎每个Transact-SQL语句都已提交或   完成后回滚。如果语句成功完成,   它承诺;如果它遇到任何错误,它将被回滚。一个   与数据库引擎实例的连接在   每当此默认模式未被覆盖时自动提交模式   显式或隐式交易。自动提交模式也是   ADO,OLE DB,ODBC和DB-Library的默认模式。

尝试将UPDATE明确地放入事务并提交以查看是否保存。还要求您的DBA查看SQL Server上是否有任何设置更改了默认事务管理模式以将autocommit设置为false。