Sql ManagementStudio 2005:取消语句会触发回滚吗?
几分钟前,在编写新存储过程时,我执行了错误的delete语句。大概是这样的:Sql ManagementStudio 2005:取消语句会触发回滚吗?,sql,sql-server-2005,tsql,transactions,ssms,Sql,Sql Server 2005,Tsql,Transactions,Ssms,几分钟前,在编写新存储过程时,我执行了错误的delete语句。大概是这样的: Delete From SomeTable Where SomeStatusID=1 10秒钟后,我意识到我输入了错误的状态并点击了cancel。它说声明被取消了 我对一个单独的数据库进行了一次恢复,以恢复我刚才推测为nuked的表,认为由于这不在事务中,一些记录可能被删除了 奇怪的是,这些记录都完好无损。只是好奇为什么会这样——在这种情况下,它是否将单个delete语句视为一个事务,即使没有定义明确的事务?始终存在
Delete From SomeTable Where SomeStatusID=1
10秒钟后,我意识到我输入了错误的状态并点击了cancel。它说声明被取消了
我对一个单独的数据库进行了一次恢复,以恢复我刚才推测为nuked的表,认为由于这不在事务中,一些记录可能被删除了
奇怪的是,这些记录都完好无损。只是好奇为什么会这样——在这种情况下,它是否将单个delete语句视为一个事务,即使没有定义明确的事务?始终存在事务。唯一改变的是这些事务如何相互隔离,在management studio中,事务可能没有明确定义,并且在查询完成时自动提交。始终存在事务。唯一改变的是这些事务如何相互隔离,在management studio中,事务可能没有明确定义,并且在查询完成时自动提交。默认情况下,单个DML语句作为事务执行。如果语句成功,则提交事务。如果语句被取消或以其他方式失败,事务将回滚
此行为内置于引擎中,与management studio无关。请参阅文档中的。默认情况下,单个DML语句作为事务执行。如果语句成功,则提交事务。如果语句被取消或以其他方式失败,事务将回滚
此行为内置于引擎中,与management studio无关。请参阅文档中的。接受此选项是因为它更容易跟随并链接到资源。接受此选项是因为它更容易跟随并链接到资源。