Сервис для приема запросов SQL и запуска в фоновом режиме - PullRequest
0 голосов
/ 20 апреля 2019

Существует ли служба, которая принимает большое количество SQL-запросов и запускает их в фоновом режиме с удалением и ведением журнала?

У меня есть несколько клиентов, выполняющих большое количество запросов непосредственно к базе данных SQL Server, но поскольку они являются только вставками, было бы гораздо эффективнее отправлять запросы в какой-либо сервис, который может запускать их в автономном режиме в транзакциях, освобождая клиентов от необходимости ждать завершения запросов и уменьшения количества соединений с базой данных.

Поскольку результат не нужен приложению, я бы хотел «запустить и забыть» операторы SQL, зная, что они в конечном итоге завершатся, даже если им нужно будет повторить попытку из-за тайм-аута или проблем с сетью.

Существует ли такая услуга?

1 Ответ

4 голосов
/ 20 апреля 2019

Существует ли такая услуга?

Нет такого сервиса из коробки. По предложению Гордона Линхоффа, вы можете ОТПРАВИТЬ пакеты в Servcie Broker Очередь или ВСТАВИТЬ их в обычную таблицу, и запустить их в фоновом режиме.

В случае Service Broker настройка, программирование и устранение неполадок немного сложнее, но вы получаете Внутренняя активация для запуска хранимой процедуры, которую вы пишете, когда сообщения появляются в очереди.

В обычной таблице вы просто пишете задание агента SQL (или подобное), которое выполняется в цикле и ищет новые строки в целевой таблице, запускает найденные пакеты и удаляет (или отмечает) пакеты как завершенные , Вы не получаете низкую задержку и автоматическое масштабирование, которые обеспечивает активация компонента Service Broker, но это намного проще реализовать.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...