服务接受SQL查询并在后台运行
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了服务接受SQL查询并在后台运行相关的知识,希望对你有一定的参考价值。
是否有接受大量SQL查询的服务并在后台运行退役和日志记录?
我有多个客户端直接针对SQL Server数据库运行大量查询,但因为它们只是插入,将查询发布到某些服务会更有效率,这些服务可以在事务中脱机运行,从而使客户端不必等待查询完成并减少与数据库的连接。
因为应用程序不需要结果,所以我想“发送并忘记”知道它们最终会完成的SQL语句,即使它们需要因超时或网络问题而重试。
这样的服务存在吗?
答案
这样的服务存在吗?
没有这样的服务开箱即用。正如Gordon Linhoff建议的那样,您可以将批次发送到Servcie Broker队列中,或者将它们插入到常规表中,然后运行后台进程。
对于Service Broker,设置,编程和故障排除有点棘手,但是当消息出现在队列中时,您会获得Internal Activation来触发您编写的存储过程。
使用常规表,您只需编写一个在循环中运行的SQL代理作业(或类似作业),在目标表中查找新行,运行它找到的批处理,并将批处理删除(或标记)为完成。您没有获得Service Broker Activation提供的低延迟和自动横向扩展,但实现起来要简单得多。
以上是关于服务接受SQL查询并在后台运行的主要内容,如果未能解决你的问题,请参考以下文章