Service Broker 是否使用相同的会话来执行存储过程/临时 table 冲突的风险?
Does service broker use the same session for stored procedure exec / risk of temporary table collisions?
在服务代理队列激活的存储过程中使用#临时table时,如果~同时消息多次激活存储过程,队列的"readers"是否会使用相同的session,事实上,相同的临时 tables ?
参考:this post that sounds like each activation will have its own session.. but am I understanding it wrong ?
参考 2:That msdn doc that left me puzzled
每个 reader 线程,最多 MAX_QUEUE_READERS
,将有自己的会话。这必须是真的,否则他们不能并行执行。在一个会话(线程)中,存储过程可能会被重复调用。因此存储过程的两个 simultaneous 实例不能在访问 #temp
table 时发生冲突,但是 #temp
table 可能已经从同一会话中的先前执行。
在服务代理队列激活的存储过程中使用#临时table时,如果~同时消息多次激活存储过程,队列的"readers"是否会使用相同的session,事实上,相同的临时 tables ?
参考:this post that sounds like each activation will have its own session.. but am I understanding it wrong ? 参考 2:That msdn doc that left me puzzled
每个 reader 线程,最多 MAX_QUEUE_READERS
,将有自己的会话。这必须是真的,否则他们不能并行执行。在一个会话(线程)中,存储过程可能会被重复调用。因此存储过程的两个 simultaneous 实例不能在访问 #temp
table 时发生冲突,但是 #temp
table 可能已经从同一会话中的先前执行。