Добро пожаловать в форум, Guest  >>   Войти | Регистрация | Поиск | Правила | В избранное | Подписаться
Все форумы / Microsoft SQL Server Новый топик    Ответить
Топик располагается на нескольких страницах: Ctrl  назад   1 [2] 3   вперед  Ctrl      все
 Re: Как лучше всего написать хранимую процедуру, которая будет выполнятся в потоке?  [new]
Winnipuh
Member [заблокирован]

Откуда: Київ
Сообщений: 10428
igor888
aleks2,

джоб не подойдёт т.к. Express

а по поводу sp_getapplock не понял... это блокировка приложения... или можно блокировать выполнение процедуры?


Не пасуй перед трудностями.

Rusanu описал как сделать аналог обработчика джобов для экспресса
13 янв 15, 13:37    [17110659]     Ответить | Цитировать Сообщить модератору
 Re: Как лучше всего написать хранимую процедуру, которая будет выполнятся в потоке?  [new]
ART-CODE
Member

Откуда:
Сообщений: 1092
А "долгую процедуру" нельзя триггерами заменить ?
Не бесконечный-ли цикл там, случайно, с проверкой значений в таблице ?
13 янв 15, 13:46    [17110730]     Ответить | Цитировать Сообщить модератору
 Re: Как лучше всего написать хранимую процедуру, которая будет выполнятся в потоке?  [new]
igor888
Guest
Winnipuh
igor888
aleks2,

джоб не подойдёт т.к. Express

а по поводу sp_getapplock не понял... это блокировка приложения... или можно блокировать выполнение процедуры?


Не пасуй перед трудностями.

Rusanu описал как сделать аналог обработчика джобов для экспресса



Добрый день.

Rusanu - это кто. И где посмотреть его метод?
13 янв 15, 15:44    [17111565]     Ответить | Цитировать Сообщить модератору
 Re: Как лучше всего написать хранимую процедуру, которая будет выполнятся в потоке?  [new]
igor888
Guest
ART-CODE
А "долгую процедуру" нельзя триггерами заменить ?
Не бесконечный-ли цикл там, случайно, с проверкой значений в таблице ?



Я пока ничего такого не писал т.к. пока не знаю как лучше всего сделать.

Цикл вечный писать точно не буду, если бы работали job-ы настроил scheduler и усё, вызывал бы переодически...


сейчас рассматриваю только асинхронный вызов процедуры, чтоб не лочил клиента.

Думаю вариант только один, через сервис брокер, там и ограничение на параллельный вызов процедуры и асинхронная работа.
13 янв 15, 15:51    [17111629]     Ответить | Цитировать Сообщить модератору
 Re: Как лучше всего написать хранимую процедуру, которая будет выполнятся в потоке?  [new]
Maxx
Member [скрыт]

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

млин а я 5 лет ходил на карате записоваться И знаю еще кучу страшных слов
Если не хотите разбераться со всей фигней - то проще всего
1. Делаете таблицу в 1 полем : 0 - не работает ,1- работает
2. В теле просиды первым шагом проверяем запись.... если 0 ,ставим 1 и работаем,если 1 - то выходим из тела просиды. В конце есно возращаем в 0
3. Пишете cmd/jscript/vb...etc и шедулите все ето счастье как вам сказали виндовым шедулером

Усе,занавес
13 янв 15, 16:04    [17111766]     Ответить | Цитировать Сообщить модератору
 Re: Как лучше всего написать хранимую процедуру, которая будет выполнятся в потоке?  [new]
igor888
Guest
Maxx
igor888,

млин а я 5 лет ходил на карате записоваться И знаю еще кучу страшных слов
Если не хотите разбераться со всей фигней - то проще всего
1. Делаете таблицу в 1 полем : 0 - не работает ,1- работает
2. В теле просиды первым шагом проверяем запись.... если 0 ,ставим 1 и работаем,если 1 - то выходим из тела просиды. В конце есно возращаем в 0
3. Пишете cmd/jscript/vb...etc и шедулите все ето счастье как вам сказали виндовым шедулером

Усе,занавес


В том то и дело, разобраться могу, но в чём (виндовый планировщик не совсем то)?


А за 1 2 и 3 - талантище, чо
13 янв 15, 16:15    [17111861]     Ответить | Цитировать Сообщить модератору
 Re: Как лучше всего написать хранимую процедуру, которая будет выполнятся в потоке?  [new]
Maxx
Member [скрыт]

Откуда:
Сообщений: 24290
igor888
В том то и дело, разобраться могу, но в чём (виндовый планировщик не совсем то)?

а чем он вам не угодил то ?
13 янв 15, 16:17    [17111883]     Ответить | Цитировать Сообщить модератору
 Re: Как лучше всего написать хранимую процедуру, которая будет выполнятся в потоке?  [new]
Maxx
Member [скрыт]

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

а вот статья о которой вам говорили Тынц
13 янв 15, 16:18    [17111896]     Ответить | Цитировать Сообщить модератору
 Re: Как лучше всего написать хранимую процедуру, которая будет выполнятся в потоке?  [new]
Владислав Колосов
Member

Откуда:
Сообщений: 7868
автор
не совсем то

Шикарный критерий оценки Надо будет где-нибудь использовать.
13 янв 15, 16:47    [17112037]     Ответить | Цитировать Сообщить модератору
 Re: Как лучше всего написать хранимую процедуру, которая будет выполнятся в потоке?  [new]
igor888
Guest
Maxx
igor888,

а вот статья о которой вам говорили Тынц


Спасибо конечно, но думаю статья не о том.

О сервисброкере, это да. Но там речь идёт о "multicast messages", возможность которых появилась в MSSQL2012. Ни одного слова не нашёл об "как сделать аналог обработчика джобов для экспресса"
14 янв 15, 08:37    [17114470]     Ответить | Цитировать Сообщить модератору
 Re: Как лучше всего написать хранимую процедуру, которая будет выполнятся в потоке?  [new]
igor888
Guest
Владислав Колосов
автор
не совсем то

Шикарный критерий оценки Надо будет где-нибудь использовать.


Можно сделать всё что угодно! кто-то реализует через виндовый планировщик, почему бы и нет! если мне так делать появляются определённые нюансы, которых хотелось бы избежать
14 янв 15, 08:42    [17114480]     Ответить | Цитировать Сообщить модератору
 Re: Как лучше всего написать хранимую процедуру, которая будет выполнятся в потоке?  [new]
igor888
Guest
Winnipuh
igor888
aleks2,

джоб не подойдёт т.к. Express

а по поводу sp_getapplock не понял... это блокировка приложения... или можно блокировать выполнение процедуры?


Не пасуй перед трудностями.

Rusanu описал как сделать аналог обработчика джобов для экспресса




Не нашёл, плж кинь ссылку на статейку
14 янв 15, 10:11    [17114829]     Ответить | Цитировать Сообщить модератору
 Re: Как лучше всего написать хранимую процедуру, которая будет выполнятся в потоке?  [new]
igor888
Guest
Winnipuh
igor888
aleks2,

джоб не подойдёт т.к. Express

а по поводу sp_getapplock не понял... это блокировка приложения... или можно блокировать выполнение процедуры?


Не пасуй перед трудностями.

Rusanu описал как сделать аналог обработчика джобов для экспресса


Winnipuh, добрый день.

Топик почти утонул... а я так и не могу понять, то ли высказанное это воздух, и ничего подобного нет или Вам сложно уделить пару минут своего времени и кинуть ссылку на описание реализации?
15 янв 15, 13:43    [17122206]     Ответить | Цитировать Сообщить модератору
 Re: Как лучше всего написать хранимую процедуру, которая будет выполнятся в потоке?  [new]
Konst_One
Member

Откуда:
Сообщений: 11538
http://rusanu.com/articles/
15 янв 15, 13:45    [17122214]     Ответить | Цитировать Сообщить модератору
 Re: Как лучше всего написать хранимую процедуру, которая будет выполнятся в потоке?  [new]
Konst_One
Member

Откуда:
Сообщений: 11538
async exec sp
http://rusanu.com/2009/08/05/asynchronous-procedure-execution/
15 янв 15, 13:48    [17122235]     Ответить | Цитировать Сообщить модератору
 Re: Как лучше всего написать хранимую процедуру, которая будет выполнятся в потоке?  [new]
igor888
Guest
Konst_One
async exec sp
http://rusanu.com/2009/08/05/asynchronous-procedure-execution/


Спасибо, но эта статейка про асинхронный вызов хранимых процедур, это по моей теме (на половину)... но тут сказано:

"Rusanu описал как сделать аналог обработчика джобов для экспресса"

и каким именно образом не уточняется... или это то и я не так понял? Джоб предназначен для автономной работы, без участия пользователя и срабатывает в назначенное время...

т.е. я предполагал этот вариант "срабатывает в назначенное время".

Я правильно понимаю, что на Expres'е этого не сделать?
15 янв 15, 14:03    [17122310]     Ответить | Цитировать Сообщить модератору
 Re: Как лучше всего написать хранимую процедуру, которая будет выполнятся в потоке?  [new]
Konst_One
Member

Откуда:
Сообщений: 11538
не в курсе, что имел ввиду Winnipuh, спросите у него
15 янв 15, 14:06    [17122333]     Ответить | Цитировать Сообщить модератору
 Re: Как лучше всего написать хранимую процедуру, которая будет выполнятся в потоке?  [new]
igor888
Guest
Konst_One,

Спасибо
15 янв 15, 14:07    [17122340]     Ответить | Цитировать Сообщить модератору
 Re: Как лучше всего написать хранимую процедуру, которая будет выполнятся в потоке?  [new]
Maxx
Member [скрыт]

Откуда:
Сообщений: 24290
опачки.... все вам не то. Поясните может внятно что вы таки хотите сделать....то ????
Напишите свой виндовый сервис и дергайте СП из сиквела
А то вин шедулер - не то (без пояснений)
Сервис брокер - опять не то
Агента - просто нет в експерессе

.....что конкретно вам надо то ?
15 янв 15, 14:11    [17122366]     Ответить | Цитировать Сообщить модератору
 Re: Как лучше всего написать хранимую процедуру, которая будет выполнятся в потоке?  [new]
igor888
Guest
Maxx
опачки.... все вам не то. Поясните может внятно что вы таки хотите сделать....то ????
Напишите свой виндовый сервис и дергайте СП из сиквела
А то вин шедулер - не то (без пояснений)
Сервис брокер - опять не то
Агента - просто нет в експерессе

.....что конкретно вам надо то ?


)))) ух

Вот как раз Сервис брокер - это точно то что нужно, он реализует главную часть задумки!

вторая часть (необязательная) связана с планированием вызова... собственно...



Задам вопрос более точно:
можно ли с помощью сервис брокера (или другого механизма) вызывать хранимую процедуру в указанное время, не используя систему джобов (т.к. Express) и планировщика событий винды (т.к. есть нюансы)?
15 янв 15, 14:31    [17122483]     Ответить | Цитировать Сообщить модератору
 Re: Как лучше всего написать хранимую процедуру, которая будет выполнятся в потоке?  [new]
Konst_One
Member

Откуда:
Сообщений: 11538
это должна делать внешняя программа(сервис)
15 янв 15, 14:35    [17122512]     Ответить | Цитировать Сообщить модератору
 Re: Как лучше всего написать хранимую процедуру, которая будет выполнятся в потоке?  [new]
Glory
Member

Откуда:
Сообщений: 104760
igor888
можно ли с помощью сервис брокера (или другого механизма) вызывать хранимую процедуру в указанное время,

передаете в сообщении время запуска
ваш обработчик сообщений читает этот параметер и организует нужную задержку выполнения
15 янв 15, 14:38    [17122534]     Ответить | Цитировать Сообщить модератору
 Re: Как лучше всего написать хранимую процедуру, которая будет выполнятся в потоке?  [new]
igor888
Guest
Glory
igor888
можно ли с помощью сервис брокера (или другого механизма) вызывать хранимую процедуру в указанное время,

передаете в сообщении время запуска
ваш обработчик сообщений читает этот параметер и организует нужную задержку выполнения


Не совсем понял, т.е. в сообщении (например в формате XML), которое отправляет Сервис брокер, учесть параметр времени выполнения... затем сообщение попадает в очередь, запускается хранимая процедура, читаем параметр отложенного выполнения, засыпаем на сутки (до времени актуальности), затем выполняем... в моём понимании это залочит работу сервис брокера (параметр max_queue_readers = 1)
15 янв 15, 15:04    [17122750]     Ответить | Цитировать Сообщить модератору
 Re: Как лучше всего написать хранимую процедуру, которая будет выполнятся в потоке?  [new]
Glory
Member

Откуда:
Сообщений: 104760
igor888
Не совсем понял, т.е. в сообщении (например в формате XML), которое отправляет Сервис брокер

Сервис брокер не отправляет сообщений сам себе

igor888
в моём понимании это залочит работу сервис брокера (параметр max_queue_readers = 1)

Не понял, вы хотели с одним читателем выполнить параллельно много-много запросов ?
По-моему, у вас проблемы с пониманием задачи "планировщик"
15 янв 15, 15:08    [17122782]     Ответить | Цитировать Сообщить модератору
 Re: Как лучше всего написать хранимую процедуру, которая будет выполнятся в потоке?  [new]
igor888
Guest
Glory,

-- Не понял, вы хотели с одним читателем выполнить параллельно много-много запросов ?

Логично, тут надо думать.

всё таки переспрошу:
- параметр времени выполнения передаётся в теле сообщения (например в формате XML, с тучей других параметров)?
- Ожидание времени актуальности выполнения протекает в выполняемой процедуре, вызванной сервис брокером? или это один из механизмов самого сервис брокера, выполнять процедуру в определённое время?
15 янв 15, 15:26    [17122931]     Ответить | Цитировать Сообщить модератору
Топик располагается на нескольких страницах: Ctrl  назад   1 [2] 3   вперед  Ctrl      все
Все форумы / Microsoft SQL Server Ответить