Добро пожаловать в форум, Guest  >>   Войти | Регистрация | Поиск | Правила | В избранное | Подписаться
Все форумы / Microsoft SQL Server Новый топик    Ответить
Топик располагается на нескольких страницах: [1] 2   вперед  Ctrl      все
 Запуск Job's  [new]
Yagrus2
Member

Откуда: Москва
Сообщений: 902
Всем привет!
Есть две базы db1 и db2. Из db1 копируются несколько таблиц в db2. На db2 есть несколько джобов, которые общитывают таблички скопированные из первой базы. То есть у меня последовательно должны выполняться два действия:
1. копирование таблиц средствами 1с из db1 на db2
2. Обсчет-агрегация обновленных таблиц на db2
Иногда, довольно часто последнее время, первый этап не успевает завершиться до начала запуска второго. В Job's жестко прописано время их запуска.
Есть ли возможность запуска Job после, к примеру, если в определенной табличке существует записть с определенным условием???
19 июл 12, 16:47    [12889612]     Ответить | Цитировать Сообщить модератору
 Re: Запуск Job's  [new]
Гавриленко Сергей Алексеевич
Member

Откуда:
Сообщений: 37254
Соберите два ваших джоба в один.
19 июл 12, 16:48    [12889621]     Ответить | Цитировать Сообщить модератору
 Re: Запуск Job's  [new]
Ozerov
Member

Откуда: Москва
Сообщений: 3637
а нельзя их сделать в одном джобе разными шагами ? И поставить условие шага при успешном выполнении перейти к след шагу ?
19 июл 12, 16:49    [12889624]     Ответить | Цитировать Сообщить модератору
 Re: Запуск Job's  [new]
Yagrus2
Member

Откуда: Москва
Сообщений: 902
Такой вариант не подходит.
Импорт данных производится 1с программистами.
19 июл 12, 16:50    [12889635]     Ответить | Цитировать Сообщить модератору
 Re: Запуск Job's  [new]
Ozerov
Member

Откуда: Москва
Сообщений: 3637
Yagrus2
Такой вариант не подходит.
Импорт данных производится 1с программистами.

Да хоть папой римским. Почему не подходит то ?
19 июл 12, 16:52    [12889653]     Ответить | Цитировать Сообщить модератору
 Re: Запуск Job's  [new]
Yagrus2
Member

Откуда: Москва
Сообщений: 902
Может я не точно выразился...
Импорт данных делают 1с разработчики средствами 1с. Я же должен запускать свои Job's после того как они полностью загрузят данные.
Иногда получается так, что я начинаю обрабатывать таблици которые еще заполняются.
Вот и возник вопрос.
19 июл 12, 16:54    [12889667]     Ответить | Цитировать Сообщить модератору
 Re: Запуск Job's  [new]
Yagrus2
Member

Откуда: Москва
Сообщений: 902
Ozerov, как мне в своем job-е прописать код 1с-ников
19 июл 12, 16:56    [12889677]     Ответить | Цитировать Сообщить модератору
 Re: Запуск Job's  [new]
Ozerov
Member

Откуда: Москва
Сообщений: 3637
Yagrus2
Ozerov, как мне в своем job-е прописать код 1с-ников

Так по пунктам.
У Вас, yf SQL SERVER в пункте JOBS есть , грубо говоря, два задания. Одно копирует данные. Другое их обсчитывает, так ?

Если так, то вы заходите в первое задание, там будет\ут шаг\и. И вот зайдя в эти шаги, надо скопировать содержимое, в созданный шаг во втором задании.
19 июл 12, 17:04    [12889722]     Ответить | Цитировать Сообщить модератору
 Re: Запуск Job's  [new]
Yagrus2
Member

Откуда: Москва
Сообщений: 902
Ozerov
Так по пунктам.
У Вас, yf SQL SERVER в пункте JOBS есть , грубо говоря, два задания. Одно копирует данные. Другое их обсчитывает, так ?

Нет не так. Копирование делает внешнее приложение!
Все свои обсчеты я делаю в одном Job-е с несколькими степами.
Когда завершается копирование данных из 1с, делаестся запись в специальную табличку

Я хочу понять можно ли запускать job каждые 30 минут пока не появится запись в специальной табличке?
19 июл 12, 17:13    [12889765]     Ответить | Цитировать Сообщить модератору
 Re: Запуск Job's  [new]
Ozerov
Member

Откуда: Москва
Сообщений: 3637
Хм, ну не знаю...
попробовать первым шагом поставить скрипт IF условие BEGIN ELSE - ошибка.

В шаге настройка при ошибке стопимся, при удачи шага, переходим на другой...
19 июл 12, 17:22    [12889812]     Ответить | Цитировать Сообщить модератору
 Re: Запуск Job's  [new]
HandKot
Member

Откуда: Sergiev Posad
Сообщений: 3058
как вариант
в первом джобе после окончания генерить алерт (ошибку)
а в настройках алерта поставить опцию - запускать джоб2
19 июл 12, 17:29    [12889833]     Ответить | Цитировать Сообщить модератору
 Re: Запуск Job's  [new]
Yagrus2
Member

Откуда: Москва
Сообщений: 902
HandKot
как вариант
в первом джобе после окончания генерить алерт (ошибку)
а в настройках алерта поставить опцию - запускать джоб2

Можете пояснить поподробнее???
Первый этап загрузка таблиц делается не средствами sql server, а 1с. Я его не контролирую. Единственное что я могу определить, это наличие или отсутствие "флажка" в "специально созданной таблице".
19 июл 12, 21:13    [12890461]     Ответить | Цитировать Сообщить модератору
 Re: Запуск Job's  [new]
Yagrus2
Member

Откуда: Москва
Сообщений: 902
Yagrus2
HandKot
как вариант
в первом джобе после окончания генерить алерт (ошибку)
а в настройках алерта поставить опцию - запускать джоб2

Можете пояснить поподробнее???
Первый этап загрузка таблиц делается не средствами sql server, а 1с. Я его не контролирую. Единственное что я могу определить, это наличие или отсутствие "флажка" в "специально созданной таблице".

К примеру, если есть запись за сегоднящнее число, то запускаю обсчет табли. В противном случае жду 30 минут. И так пока не появится запись в "специально созданной таблице".


Так можно сдеать или нет???
19 июл 12, 21:17    [12890468]     Ответить | Цитировать Сообщить модератору
 Re: Запуск Job's  [new]
HandKot
Member

Откуда: Sergiev Posad
Сообщений: 3058
Yagrus2
Yagrus2
пропущено...

Можете пояснить поподробнее???
Первый этап загрузка таблиц делается не средствами sql server, а 1с. Я его не контролирую. Единственное что я могу определить, это наличие или отсутствие "флажка" в "специально созданной таблице".

К примеру, если есть запись за сегоднящнее число, то запускаю обсчет табли. В противном случае жду 30 минут. И так пока не появится запись в "специально созданной таблице".


Так можно сдеать или нет???


понятно, если загрузка идет средствами 1С и не сипользуется сиквел, то так не получится
тогда используйте вариант Ozerov
IF условие BEGIN ELSE - ошибка

в секции IF BEGIN - код, который делает
автор
Обсчет-агрегация обновленных таблиц на db2

в секции ELSE BEGIN - генерите ошибку
должно получится что-то типа
IF EXISTS (SELECT флажок FROM СпециальноСозданнаяТаблица)
BEGIN
  обсчет табли
END
ELSE
BEGIN
  RAISERROR ('Данных пока нет', 10, 1) 
END
и в св-вах шага на вкладке "дополнительно" установите св-ва Retry Attempts и Retry Interval
20 июл 12, 08:18    [12891206]     Ответить | Цитировать Сообщить модератору
 Re: Запуск Job's  [new]
Yagrus2
Member

Откуда: Москва
Сообщений: 902
HandKot,
Сделал как вы указали.
Установил для теста Retry Attempts = 10 и Retry Interval = 1 мин.
Не помогло. Job запускается один раз. Из за условия IF ... ELSE конечно никакая обработка не выполняется, но 10 попыток запуска нет.
20 июл 12, 11:26    [12892288]     Ответить | Цитировать Сообщить модератору
 Re: Запуск Job's  [new]
Glory
Member

Откуда:
Сообщений: 104751
Yagrus2
Из за условия IF ... ELSE конечно никакая обработка не выполняется, но 10 попыток запуска нет.

А ошибка то генерируется для того, чтобы сработал Retry Attempt ?
20 июл 12, 11:28    [12892306]     Ответить | Цитировать Сообщить модератору
 Re: Запуск Job's  [new]
Yagrus2
Member

Откуда: Москва
Сообщений: 902
Glory, Я запихнул код в процедуру SP_DWH_TEST
Когда я запускаю ее из рабочего окна Managerment Studio ошибка формируется.
Призапуске job-а незнаю как это посмотреть. В истории запусков ошибок нет.
20 июл 12, 11:38    [12892385]     Ответить | Цитировать Сообщить модератору
 Re: Запуск Job's  [new]
Yagrus2
Member

Откуда: Москва
Сообщений: 902
Yagrus2
В истории запусков ошибок нет.

Я имел ввиду view hishory
20 июл 12, 11:41    [12892404]     Ответить | Цитировать Сообщить модератору
 Re: Запуск Job's  [new]
Yagrus2
Member

Откуда: Москва
Сообщений: 902
Может нужно еще какие чекбоксы выставить в настройках Job-а.
20 июл 12, 12:11    [12892625]     Ответить | Цитировать Сообщить модератору
 Re: Запуск Job's  [new]
HandKot
Member

Откуда: Sergiev Posad
Сообщений: 3058
покажите текст процедуры (в той части которая определяет поведение)
и тест шага джоба

а зачем Вы поставили
автор
Retry Interval = 1 мин
.
если говорили
автор
противном случае жду 30 минут
20 июл 12, 12:33    [12892777]     Ответить | Цитировать Сообщить модератору
 Re: Запуск Job's  [new]
Yagrus2
Member

Откуда: Москва
Сообщений: 902
HandKot,
Я создал как тестовую процедуру так и тестовый job, поэтому и поставил 1 минуту.

ALTER PROC [dbo].[USP_DWH_TEST]
AS
BEGIN
		IF EXISTS (SELECT * FROM dbo.DWH_JOB_TEST)
		BEGIN
			INSERT dbo.DWH_JOB_INS_TEST VALUES(2000)
		END
		ELSE
		BEGIN
		  RAISERROR ('Данных пока нет', 10, 1) 
		END
END


Таблица dbo.DWH_JOB_TEST пустая.

Сообщение было отредактировано: 23 июл 12, 12:55
20 июл 12, 12:38    [12892827]     Ответить | Цитировать Сообщить модератору
 Re: Запуск Job's  [new]
Гавриленко Сергей Алексеевич
Member

Откуда:
Сообщений: 37254
RAISERROR ('Данных пока нет', 10, 1) = print. Джоб ретраиться не будет.
20 июл 12, 12:41    [12892849]     Ответить | Цитировать Сообщить модератору
 Re: Запуск Job's  [new]
Yagrus2
Member

Откуда: Москва
Сообщений: 902
Date 20.07.2012 12:00:38
Log Job History (DWH_TEST_WAIT)

Step ID 1
Server XXX
Job Name DWH_TEST_WAIT
Step Name Sep1
Duration 00:00:00
Sql Severity 0
Sql Message ID 50000
Operator Emailed
Operator Net sent
Operator Paged
Retries Attempted 0

Message
Executed as user: xx\xxx. Данных пока нет [SQLSTATE 01000] (Message 50000). The step succeeded.
20 июл 12, 12:42    [12892860]     Ответить | Цитировать Сообщить модератору
 Re: Запуск Job's  [new]
Yagrus2
Member

Откуда: Москва
Сообщений: 902
Гавриленко Сергей Алексеевич
RAISERROR ('Данных пока нет', 10, 1) = print. Джоб ретраиться не будет.

Пожалуйста поясните я не понял.
20 июл 12, 12:48    [12892929]     Ответить | Цитировать Сообщить модератору
 Re: Запуск Job's  [new]
Гавриленко Сергей Алексеевич
Member

Откуда:
Сообщений: 37254
Yagrus2
Гавриленко Сергей Алексеевич
RAISERROR ('Данных пока нет', 10, 1) = print. Джоб ретраиться не будет.

Пожалуйста поясните я не понял.


К сообщению приложен файл. Размер - 52Kb
20 июл 12, 12:49    [12892936]     Ответить | Цитировать Сообщить модератору
Топик располагается на нескольких страницах: [1] 2   вперед  Ctrl      все
Все форумы / Microsoft SQL Server Ответить