BTS 2006 R2 WCF-SQL类型的轮询锁 [英] BTS 2006 R2 WCF-SQL typed polling locks

查看:82
本文介绍了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..

有什么想法吗?

推荐答案

A 基于WCF的SQL适配器
可能会在PolledDataAvailableStatement绑定属性返回肯定结果时锁定SQL Server资源但实际轮询不会返回任何数据。
A WCF-based SQL adapter may lock SQL Server resources when the PolledDataAvailableStatement binding property returns a positive result but the actual polling does not return any data.


这篇关于BTS 2006 R2 WCF-SQL类型的轮询锁的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆