Sql Server 2008存储过程(或触发器)是否可以手动并行或后台执行某些逻辑?

Sql Server 2008存储过程(或触发器)是否可以手动并行或后台执行某些逻辑?,sql,sql-server,sql-server-2008,parallel-processing,background-process,Sql,Sql Server,Sql Server 2008,Parallel Processing,Background Process,如果我在SQLServer2008中有一个存储过程或触发器,它可以在“另一个非阻塞线程”中执行一些Sql计算吗?例如,背景中有什么东西 另外,两个sql代码块可以并行运行吗?还是两个存储过程并行运行 比如说。想象一下,在用户执行某些“操作”后,我们将计算每个堆栈溢出用户的分数(请保留所有“do that elsehare/service/batch/nighter/etc,elswere”) 因此,我们在Post表上有一个触发器,因此当插入一个新Post时,触发器触发,并作为该逻辑的一部分,它计

如果我在SQLServer2008中有一个存储过程或触发器,它可以在“另一个非阻塞线程”中执行一些Sql计算吗?例如,背景中有什么东西

另外,两个sql代码块可以并行运行吗?还是两个存储过程并行运行

比如说。想象一下,在用户执行某些“操作”后,我们将计算每个堆栈溢出用户的分数(请保留所有“do that elsehare/service/batch/nighter/etc,elswere”)

因此,我们在Post表上有一个触发器,因此当插入一个新Post时,触发器触发,并作为该逻辑的一部分,它计算用户的最新分数。与其等待存储的进程完成并阻止当前sql线程/执行器,不如让它在后台或并行计算分数


干杯

SQL Server没有并行或延迟执行:连接中的每个运行代码块都是串行的,一行接一行

要解耦处理,通常必须使用SQL Server代理作业或使用。它们开始在新连接、新会话等中执行

这是有道理的:

  • 如果要回滚更改,该怎么办?背景线程做什么?它是如何知道的
  • 它使用什么数据?新的、旧的、锁定等待、快照
  • 如果它走在主线程前面并使用过时的数据怎么办

否,但您可以将请求写入队列。ServiceBroker是一个SQLServer组件,它为此类事情提供支持。这可能是异步处理的最佳选择。

干杯:)那么,我必须查看服务Brocker。