Добро пожаловать в форум, Guest  >>   Войти | Регистрация | Поиск | Правила | В избранное | Подписаться
Все форумы / Microsoft SQL Server Новый топик    Ответить
 Как вызвать SQL процедуру паралельно  [new]
Radif
Member

Откуда:
Сообщений: 4
Добрый день.
Есть SQL запрос который берет данные из таблицы и вызывает процедуру по импорту данных, все работает нормально.
Подскажите, пожалуйста, есть ли возможность вызывать EXEC ImportData паралельно в цикле, а не ждать пока данные импортируются с одного магазина

DECLARE cur CURSOR READ_ONLY FAST_FORWARD FOR
SELECT ShopIndex FROM [dbo].[Shops] s;
OPEN cur;
FETCH NEXT FROM cur INTO @ShopIndex;
WHILE @@FETCH_STATUS = 0
BEGIN
	EXEC ImportData;
	FETCH NEXT FROM cur INTO @ShopIndex;
END
CLOSE cur;
DEALLOCATE cur;


Заранее благодарен за Ваши ответы.
30 сен 15, 15:10    [18215194]     Ответить | Цитировать Сообщить модератору
 Re: Как вызвать SQL процедуру паралельно  [new]
Гавриленко Сергей Алексеевич
Member

Откуда: Moscow
Сообщений: 37050
Открыть нужное кол-во коннектов и выполнить в каждом вашу процедуру.
30 сен 15, 15:12    [18215211]     Ответить | Цитировать Сообщить модератору
 Re: Как вызвать SQL процедуру паралельно  [new]
Владислав Колосов
Member

Откуда:
Сообщений: 7868
Radif,

вполне возможно, что последовательное выполнение сделано умышленно.
30 сен 15, 15:26    [18215306]     Ответить | Цитировать Сообщить модератору
 Re: Как вызвать SQL процедуру паралельно  [new]
Radif
Member

Откуда:
Сообщений: 4
Гавриленко Сергей Алексеевич,

Как открыть эти коннекты?
2 окт 15, 09:01    [18224312]     Ответить | Цитировать Сообщить модератору
 Re: Как вызвать SQL процедуру паралельно  [new]
alexeyvg
Member

Откуда: Moscow
Сообщений: 31427
Radif
Как открыть эти коннекты?
Вы же открыли из приложения коннект, что бы запустить этот цикл? Вот там же откройте несколько коннектов, и запустите свой экземпляр импорта в каждом.
2 окт 15, 09:04    [18224324]     Ответить | Цитировать Сообщить модератору
 Re: Как вызвать SQL процедуру паралельно  [new]
AnyKey45
Member

Откуда: Ekaterinburg-Moscow-EU
Сообщений: 219
alexeyvg,

если не коннекты, то
в рамках самого sql server это асинхронное выполнение кода: создаем новый джоб на каждый запуск или брокером.
2 окт 15, 09:14    [18224356]     Ответить | Цитировать Сообщить модератору
 Re: Как вызвать SQL процедуру паралельно  [new]
jk1d
Member

Откуда:
Сообщений: 7
Кроме брокера есть еще вариант с CLRкой.
2 окт 15, 21:55    [18229252]     Ответить | Цитировать Сообщить модератору
 Re: Как вызвать SQL процедуру паралельно  [new]
sparrow
Member

Откуда: Россия, Красноярск.
Сообщений: 21759
из агента надо вызывать,
алерт на изменение таблицы и в путь.

там ораниечение по количеству есть, но думаю это не критично.
3 окт 15, 15:14    [18230879]     Ответить | Цитировать Сообщить модератору
Все форумы / Microsoft SQL Server Ответить