Sql server T-SQL后台处理

Sql server T-SQL后台处理,sql-server,tsql,Sql Server,Tsql,我很难找到措辞,但是否可以向MS SQL server提供SQL查询并异步检索结果 我希望从web请求提交查询,但我希望web进程在SQL server继续处理查询并将结果转储到我可以稍后检索的临时表时终止 或者是否有一些常见的修饰符可以附加到查询中,使其在后台处理结果,如&in bash 更多信息 我管理一个允许可信用户在非常大的数据集上运行任意选择查询的站点。我目前正在使用Java守护进程检查作业表并运行结果,我只是希望有一个更原生的解决方案 实际上,您可以让该网页开始一项工作。作业将异步

我很难找到措辞,但是否可以向MS SQL server提供SQL查询并异步检索结果

我希望从web请求提交查询,但我希望web进程在SQL server继续处理查询并将结果转储到我可以稍后检索的临时表时终止

或者是否有一些常见的修饰符可以附加到查询中,使其在后台处理结果,如&in bash

更多信息

我管理一个允许可信用户在非常大的数据集上运行任意选择查询的站点。我目前正在使用Java守护进程检查作业表并运行结果,我只是希望有一个更原生的解决方案


实际上,您可以让该网页开始一项工作。作业将异步执行

这实际上取决于您与数据库的通信方式。使用ADO.NET,可以使命令执行异步运行。如果您希望在为执行此操作而构建的某个库的范围之外执行此操作,则可以在作业表中插入一条记录,然后让SQL代理轮询该表,然后将您的工作作为存储过程或其他方式运行


尽管我猜您的web请求很可能是由asp.net接收的,您可以使用ADO.net类。

执行存储过程然后异步检索结果是一个复杂的主题。这并不是为胆小的人准备的,我的第一个建议是重新检查您的设计,并确定您实际上需要在数据层中异步处理您的请求

根据您正在做的具体工作,您应该了解两种技术。。。SQL Service Broker,它基本上允许您对请求进行排队并异步接收响应。它是在SQL2005中引入的,从您对问题的措辞来看,它可能是最好的选择

查看MSDN上相同数据库service broker对话的教程:


对于运行时间较长或较大的处理任务,我可能会考虑Biztalk或Windows工作流之类的内容。这些框架基本上是相同的,它们来自MS的同一个团队,允许您启动一个异步工作流,它可能在数小时、数天、数周甚至数月内都不会返回

由于http是无连接的,所以将检索与查询关联起来的唯一方法是会话。然后你会有所有这些答案等待着有人来认领,而没有办法知道不存在的连接是否已经中断

在一个网页上,它几乎是使用它或失去它


一些其他的答案可能需要付出很多努力,但是我不知道你在寻找一个边缘案例,高科技选项。

< P>根据你的解释,我认为你可以考虑一个为这些类型的查询设计的派生OLAP数据库。因为它们似乎对业务具有战略意义