首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >停止线程中的事务

停止线程中的事务
EN

Stack Overflow用户
提问于 2010-10-28 06:55:19
回答 1查看 1.2K关注 0票数 0

我使用TransactionScope线程中转储Server数据库中的数据。

代码语言:javascript
复制
using (TransactionScope scope = new TransactionScope())
{
    // Dump data in database
    scope.Complete();
}

事务是一个长事务(~40秒),因为数据量很大。这很正常。

当我在此事务处理期间执行Abort()以停止线程时,Server似乎被锁定了几分钟。

发生了什么,我怎样才能避免这种情况?

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2010-10-28 06:59:40

简单地说:你不能。

服务器似乎在几分钟内被锁定。

不是的。Server正在忙着取消您的事务。它被完全优化为提交事务,而不是撤销它们。撤消大型更新是一项缓慢的操作。取决于您的服务器布局和数据量,它可能需要几分钟甚至几个小时。

你能做的就是..。不是回滚/中止。或者等着。

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

https://stackoverflow.com/questions/4040503

复制
相关文章

相似问题

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