本文介绍了BTS 2006 R2 WCF-SQL类型的轮询锁的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!
问题描述
您好,
我在以下情况下遇到表锁问题:
I have a problem with table lock in the following scenario:
- 一用于跟踪更改的表 - 带有已处理列(0 \1)的bts_Changes。
- 实际表中的多个触发器在发生更改时向此表添加行。
- 多个存储过程: xxx_hasChanges,xxx_getChanges。 Latter选择已更改的记录并设置已处理为1.
- 多个接收位置,这些位置使用存储过程进行类型化数据轮询。 UseAmbientTransaction设置为true,事务行为设置为ReadCommited。查找数据时轮询设置为false,轮询间隔为10秒。
- BizTalk和Adapter Pack的最新SP和CU。
数据库管理员说我的存储过程相互阻塞并触发(因此db app用户)写入 bts_Changes表。但我不明白为什么wcf-sql适配器锁定整个表?它应该锁定它更新的行,而不是所有内容..
Database administrator says that my stored procedures block each other and triggers (therefore db app users) from writing to bts_Changes table. But I don't get why does wcf-sql adapter lock whole table? It should lock rows it updates, not everything..
有什么想法吗?
推荐答案
这篇关于BTS 2006 R2 WCF-SQL类型的轮询锁的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持!