首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >发生了导致事务被归类为不可提交事务的错误。

发生了导致事务被归类为不可提交事务的错误。
EN

Stack Overflow用户
提问于 2016-02-19 14:23:34
回答 1查看 148关注 0票数 0

XACT_STATE()可以有1,0,-1的值。当它是1时,任何操作都可以执行,但是当它是- 1时,只能读取或回滚。在这种情况下,事务被归类为不可提交的事务。

这里是msdn所说的。

当前请求有一个活动的用户事务,但是发生了一个错误,导致事务被归类为一个不可提交的事务。请求不能提交事务或回滚到保存点;它只能请求事务的完整回滚。在回滚事务之前,请求不能执行任何写操作。请求只能执行读操作,直到它回滚事务。事务回滚后,请求可以同时执行读和写操作,并可以开始一个新事务。

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2016-02-19 14:50:32

取自博客

当您的事务达到16级错误时,事务可能会进入失败状态(XACT_STATE() =-1),尽管并不总是像上面解释的那样!!

下面是博客中的一些例子:

代码语言:javascript
复制
--datatype conversion errors:

   DECLARE @GUID UNIQUEIDENTIFIER 
   SELECT @GUID = CONVERT(UNIQUEIDENTIFIER, 'ABC')  

---divide by zero errors:
   SELECT * FROM my_books WHERE Isbn/0 = 2

--dropping column which doesnt exists      
 ALTER TABLE my_books DROP COLUMN author;    

作者还解释了其他可能导致事务失败的错误级别。

可能会有更多的错误,可能会使事务进入失败的状态!用户可以将此博客作为引用来标识严重程度\级别16引发的错误是否会回滚事务。如果您愿意,也可以使用其他严重程度或级别测试错误。

再多一个链接,它将帮助模拟每个错误级别。

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/35507558

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档