【发布时间】:2011-08-23 06:51:31
【问题描述】:
如果我开始一个事务,但从未调用 COMMIT。数据会发生什么?
我有一个较小的数据库(比如一百万左右的 SKU)。我以 1024 的偶数小块导出它。(第三方限制限制了我的文件大小)。
我必须标记已导出的记录..
例如。更新产品集exported = 1 where sku = '1234';
现在我每隔一段时间就会遇到一个导致第三方文件写入工具崩溃的问题。 但这发生在给定记录的文件创建之前。
所以我在考虑是否在更新记录之前调用 begin transaction,并且仅在我确认文件已构建后才提交。
这可能会导致一些没有孪生的开始事务。
所以两个问题.. 有更好的方法吗? (除了摆脱有问题的第三方) 或者作为从未提交的事务的一部分的记录会发生什么?
【问题讨论】:
标签: sql-server-2008 transactions