У меня есть для каждого цикла, который вытаскивает запросы из таблицы с запросами. Затем цикл выполняет каждый запрос и записывает результаты в таблицу. Это работает как шарм. Я даже выполнил обработку ошибок, когда запрос не мог быть выполнен (если он, например, имеет синтаксические ошибки).продолжить следующую итерацию, если цикл foreach занимает слишком много времени.
Но иногда выполнение запроса будет выполняться навсегда, например запрос с перекрестным соединением без надлежащего затруднительного положения.
Теперь я хотел бы иметь возможность установить максимальную продолжительность выполнения запроса. Так что запрос будет остановлен после x минут (если он не завершится к тому времени). Затем цикл должен продолжить следующий запрос. Иными словами, итерация никогда не должна занимать больше времени, чем X минут, после чего она должна продолжить следующую итерацию.
Любые идеи, предложения?
Пожалуйста, укажите ваш запрос и план выполнения в 'sqlplan' формате ... – Devart
SQL выполняет запросы последовательно, что не могу сделать параллельное выполнение запросов, возможно, придется пойти на C# и выполнять запросы параллельно, Я считаю, что ssis также имеет возможность выполнять дочерние контейнеры параллельно – TheGameiswar
@devart В настоящий момент существует 462 запросов. Запросы могут быть добавлены и удалены. Поэтому мне нужно спланировать запросы, которые технически звучат, но это будет работать вечно. Я не думаю, что sqlplan поможет, поскольку все эти запросы имеют только одну общую черту: SELECT. FROM, WHERE и дополнительные компоненты могут быть разными. – Henrov