我想要做的是让多个线程,进程甚至机器共享一个事务。确切地说。我想分享一大堆工作(主要是SQL Server查询)到我的多个线程,进程或机器,我希望工作是原子的。我查看了MSDTC,但是如果你想要更新几个不同的SQL Server实例(或其他资源),并且在同一个事务下拥有所有内容,那么它似乎很棒,但它似乎总是来自同一个源。即一个过程(一个连接)。可能吗?除SQL Server外,对技术没有限制。我想要两阶段提交,但我想从一台机器启动事务,并将该事务(或一种加入它的方式)提供给其他进程。
问题定义 问题是我有一个漫长的过程,涉及一些复杂的计算和数据库更新。可以安排整个过程,并且可以并行处理大量过程。我希望将处理(包括数据库更新)包含在单独的进程中,包括远程进程。
答案 0 :(得分:3)
严格回答问题:
sp_getbindtoken
sp_bindsession
加入交易然而,这几乎肯定是不你想做什么。我建议您描述您尝试解决的实际问题,而不是询问如何实施您认为合适的特定解决方案。
答案 1 :(得分:0)
我想你想做一笔大交易;比如用select语句加载一个巨大的行集;如果我以正确的方式行事;我希望这些步骤可以引导你达到你想要的效果;)。
station
。station
表的[动态]分页解决方案。示例:强>
查询:
select * from someTables
站:
stationId | size
----------+----------
s1 | 10
s2 | 20
... | ...
----------+----------
| sumSize
(i。)您需要一个在sumSize
小于count(*)
时重复的队列
queue_repeat_count = (select count(*) from sometables) / sumSize
当您呼叫电台时,您需要重复queue_repeat_count
次。
在每个队列中,cursor
表上有一个station
来调用带有参数的站点,如下所示:
station_Calls(queue_repeat)
您的服务器中有一个存储过程,它使用queue_repeat参数处理分页。
这只是我心中的一个想法,我希望它可以帮到你;)。