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

Откуда:
Сообщений: 132
Добрый день, уважаемые.
Суть следующая. Есть джоб с двумя шагами:
1. Создание дифференциальных бэкапов всех БД с моделью FULL
  DECLARE @DBName       VARCHAR(64)
  DECLARE @RecoverModel INT
  DECLARE @cmd          NVARCHAR(2048)

  -- Курсор по БД
  DECLARE DB_Curs CURSOR FOR
    SELECT
      d.name,
      d.recovery_model
    FROM
      sys.databases d
    ORDER BY
      d.name

  OPEN DB_Curs
  FETCH NEXT FROM DB_Curs INTO @DBName, @RecoverModel

  WHILE @@FETCH_STATUS = 0
  BEGIN
    -- BACKUP
    IF @RecoverModel = 1
    BEGIN
      -- DIFF
      EXEC Create_Backups @DBName, 'DIFF'

      -- SHRINK DB
      SET @cmd = 'DBCC SHRINKDATABASE (' + @DBName + ')'
      EXECUTE sp_executesql @cmd

      -- SHRINK LOG
      SET @cmd = 'USE ' + @DBName + '
                  DBCC SHRINKFILE(2, 1)'
      EXECUTE sp_executesql @cmd
    END
  	
    FETCH NEXT FROM DB_Curs INTO @DBName, @RecoverModel
  END

  -- Закрытие курсора
  CLOSE DB_Curs
  DEALLOCATE DB_Curs

Процедура Create_Backups работает правильно уже много лет.
2. Удаление бэкапов логов после создания DIFF (работает через cmd).
if exist P:\Data_Prot_Base\*_LOG_*.* (del /f /q "P:\Data_Prot_Base\*_LOG_*.*") else (if exist E:\Data_Prot_Base\*_LOG_*.* (del /f /q "E:\Data_Prot_Base\*_LOG_*.*") else (if exist D:\Data_Prot_Base\*_LOG_*.* (del /f /q "D:\Data_Prot_Base\*_LOG_*.*")))
Проверка идёт по нескольким дискам, т.к. это multi-job и на разных серверах место хранения разное.

При запуске джоба отрабатывает быстро и без ошибок, но безрезультатно, т.е. бэкап не делается. В истории говрится, что всё красиво.
Когда выполняю скрипт из первого шага в ssms - бэкапы создаются.

Как так? Почему из джоба не работает? Куда смотреть?
18 сен 13, 14:07    [14854400]     Ответить | Цитировать Сообщить модератору
 Re: не отрабатывает Job  [new]
Glory
Member

Откуда:
Сообщений: 104751
BuKTaP
При запуске джоба отрабатывает быстро и без ошибок, но безрезультатно, т.е. бэкап не делается. В истории говрится, что всё красиво.

Вы в истории видите сколько раз выполнился цикл и с какими параметрами вызывал процедуры ?
18 сен 13, 14:14    [14854447]     Ответить | Цитировать Сообщить модератору
 Re: не отрабатывает Job  [new]
BuKTaP
Member

Откуда:
Сообщений: 132
Glory, нет. В истории только The step succeeded.
18 сен 13, 15:04    [14854756]     Ответить | Цитировать Сообщить модератору
 Re: не отрабатывает Job  [new]
Glory
Member

Откуда:
Сообщений: 104751
BuKTaP
Glory, нет. В истории только The step succeeded.

Откуда вы тогда знаете, чего и сколько выполняется из вашего скрипта ?
18 сен 13, 15:27    [14854961]     Ответить | Цитировать Сообщить модератору
 Re: не отрабатывает Job  [new]
BuKTaP
Member

Откуда:
Сообщений: 132
Ну раз я вижу результат в виде бэкапа на диске, значит скрипт отработал. Так ведь?
18 сен 13, 15:30    [14854989]     Ответить | Цитировать Сообщить модератору
 Re: не отрабатывает Job  [new]
Glory
Member

Откуда:
Сообщений: 104751
BuKTaP
Ну раз я вижу результат в виде бэкапа на диске, значит скрипт отработал. Так ведь?

Еще раз внимательно вопрос - откуда вы знаете, чего и сколько выполняется в вашем скрипте при запуске в джобе ?
18 сен 13, 15:31    [14854998]     Ответить | Цитировать Сообщить модератору
 Re: не отрабатывает Job  [new]
BuKTaP
Member

Откуда:
Сообщений: 132
Ну раз я вижу результат в виде бэкапа на диске, значит скрипт отработал. Так ведь?

После отработки джоба бэкапа на диске нет. А очень хотелось бы.
18 сен 13, 15:32    [14855001]     Ответить | Цитировать Сообщить модератору
 Re: не отрабатывает Job  [new]
Glory
Member

Откуда:
Сообщений: 104751
BuKTaP
После отработки джоба бэкапа на диске нет. А очень хотелось бы.

Узнайте, что такое логирование и мониторинг. И внедрите это в свой скрипт.

Сообщение было отредактировано: 18 сен 13, 15:33
18 сен 13, 15:33    [14855011]     Ответить | Цитировать Сообщить модератору
 Re: не отрабатывает Job  [new]
BuKTaP
Member

Откуда:
Сообщений: 132
Glory
BuKTaP
Ну раз я вижу результат в виде бэкапа на диске, значит скрипт отработал. Так ведь?

Еще раз внимательно вопрос - откуда вы знаете, чего и сколько выполняется в вашем скрипте при запуске в джобе ?


Как мне узнать "чего и сколько выполняется" в скрипте, если я истории кроме The step succeeded ничего нет?
18 сен 13, 15:34    [14855029]     Ответить | Цитировать Сообщить модератору
 Re: не отрабатывает Job  [new]
Glory
Member

Откуда:
Сообщений: 104751
BuKTaP
Как мне узнать "чего и сколько выполняется" в скрипте, если я истории кроме The step succeeded ничего нет?

14855011
18 сен 13, 15:35    [14855038]     Ответить | Цитировать Сообщить модератору
 Re: не отрабатывает Job  [new]
BuKTaP
Member

Откуда:
Сообщений: 132
Ещё у кого-нибудь варианты есть?
18 сен 13, 16:33    [14855627]     Ответить | Цитировать Сообщить модератору
 Re: не отрабатывает Job  [new]
Glory
Member

Откуда:
Сообщений: 104751
BuKTaP
Ещё у кого-нибудь варианты есть?

Вы тоже намерены использовать форум вместо мониринга своего кода ?
18 сен 13, 16:38    [14855666]     Ответить | Цитировать Сообщить модератору
 Re: не отрабатывает Job  [new]
BuKTaP
Member

Откуда:
Сообщений: 132
Разобрался без мониторинга.
18 сен 13, 16:47    [14855719]     Ответить | Цитировать Сообщить модератору
 Re: не отрабатывает Job  [new]
Glory
Member

Откуда:
Сообщений: 104751
BuKTaP
Разобрался без мониторинга.

Неужели ошибку нашли в своем прекрасном коде ?
18 сен 13, 16:49    [14855742]     Ответить | Цитировать Сообщить модератору
 Re: не отрабатывает Job  [new]
BuKTaP
Member

Откуда:
Сообщений: 132
В первоначальном условии для упрощения восприятия убрал одну проверку, котторая и была причиной

IF NOT EXISTS (SELECT TOP 1
                 1
               FROM
                 OPENROWSET('SQLNCLI', 'Server=(local);Trusted_Connection=yes;',
                            ' exec msdb..sp_help_job @execution_status = 1') AS a
               WHERE
                 (UPPER(a.name) LIKE '%BACKUP%'))


Т.к. имя джоба содержит слово BACKUP, то он попадал по это условие и всё, что после - не выполнялось.
1 окт 13, 11:35    [14905582]     Ответить | Цитировать Сообщить модератору
 Re: не отрабатывает Job  [new]
Glory
Member

Откуда:
Сообщений: 104751
BuKTaP
убрал одну проверку, котторая и была причиной

Что и требовалась доказать
1 окт 13, 11:36    [14905599]     Ответить | Цитировать Сообщить модератору
 Re: не отрабатывает Job  [new]
Александр52
Member

Откуда: Кокосовые острова ส็็็็็
Сообщений: 5136
ну вот)
была похожая ситуация, когда бэкап скидывался локально, а затем копировался на другой сервер. Ошибок так же не было. Но на втором сервере файлика не оказывалось, а локально он был. Проблема была со стороны системных администраторов, точнее с настойкой прав(или видимости) с сервера-получателя на сервер-источник.
1 окт 13, 12:30    [14906090]     Ответить | Цитировать Сообщить модератору
Все форумы / Microsoft SQL Server Ответить