Задание агента SQL не выполняет пакет SSIS, но не дает сбоев

Я настроил задание для запуска пакета SSIS в каталоге SSIS, но пакет SSIS не запускается. Если щелкнуть пакет правой кнопкой мыши и запустить его, он завершится успешно.

Когда я смотрю в историю выполнения пакета в Каталоге, нет никаких признаков того, что пакет даже был запущен заданием.

Я создал тестовый пакет, чтобы убедиться, что это не конкретный пакет, поэтому пакет, с которым я тестирую, имеет задачу SQL, которая выполняет «ВЫБРАТЬ 1». По-прежнему не удается.

Задание остается в состоянии «Выполняется», пока я не остановлю его.

Я использую SQL Server 2014 Standard Edition и выполняю задание с учетной записью sysadmin.

Почему задание агента SQL не запускает мой пакет?

Изменить: я просмотрел эту статью, но она либо не применяется, либо Я попробовал, и это тоже не сработало.

Изменить 2: я обнаружил ошибку в истории заданий агента SQL Server: невозможно завершить процесс 1850, запущенный на шаге 1 задания 0x5DAD5416FA09C445B82ABDBB49F75E38 (причина: доступ запрещен)

Означает ли это, что у моей учетной записи службы недостаточно разрешений на локальном компьютере? Однако я могу без проблем запустить задание с DTEXEC, используя учетную запись службы ...


person confusedKid    schedule 25.05.2015    source источник
comment
... и запускает задание с учетной записью системного администратора. Если вы выполняете его как запланированное задание (агент сервера), разве оно не запускается учетной записью, которая «владеет» этой службой? Я так думаю. В любом случае, как хранится Пакет (файл или в БД)? Только что заметил, что вы упомянули Каталог, поэтому я думаю, что в файле db.   -  person Mackan    schedule 25.05.2015
comment
Я настроил учетную запись, которая владеет службой, в качестве системного администратора в диспетчере конфигурации SQL Server.   -  person confusedKid    schedule 25.05.2015
comment
Когда вы щелкаете правой кнопкой мыши пакет и успешно запускаете его из каталога SSIS, делаете ли вы это из той же учетной записи, под которой выполняется задание агента?   -  person Jo Douglass    schedule 25.05.2015
comment
Да, я использую Management Studio в качестве учетной записи службы и подключаюсь к серверу с помощью проверки подлинности Windows.   -  person confusedKid    schedule 25.05.2015
comment
Если вы создадите Hello World, эквивалент проекта SSIS и развернете его в SSISDB, этот пакет будет работать?   -  person billinkc    schedule 26.05.2015
comment
@billinkc Нет, я создал пустой пакет, и работа все равно будет крутиться бесконечно.   -  person confusedKid    schedule 26.05.2015


Ответы (3)


Когда вы смотрите на соединения в пакете SSIS, вы ввели идентификатор пользователя и пароль? Если да, то добавляли ли вы пароль пакета? Причина, по которой я спрашиваю, заключается в том, что если вы не добавите пароль пакета, он удалит вещи, которые, по его мнению, должны быть безопасными (например, пароли). Вы можете попробовать поместить пароль подключения в файл конфигурации и добавить этот файл в задание. Либо это, либо пароль шифрует пакет SSIS, но вам нужно будет проявлять особую осторожность при первом запуске пакета (или при создании задания), потому что вам нужно будет предоставить пароль, который вы использовали для шифрования пакета.

person sdurette    schedule 26.05.2015
comment
Спасибо за предложение, но даже когда я создаю пустой пакет в новом решении, не содержащем подключений к данным, задание все равно будет вращаться без вызова пакета. - person confusedKid; 26.05.2015
comment
Я бы не рекомендовал добавлять пароль в файл конфигурации. Если вы соблюдаете политику ИТ-безопасности, почти наверняка есть что-то о хранении паролей в открытом виде. Если вашему пакету требуются пароли, я всегда рекомендую использовать пароль пакета и предлагать агенту расшифровывать пакет при выполнении. - person Marcus Culver; 11.12.2015

Перезагрузка устраняет эту проблему. Причина в том, что если вы посмотрите на это сообщение. Невозможно завершить процесс 1850. Это процесс Windows. Я бы сказал перезагрузка. Если действительно хотите, то перед перезагрузкой поинтересуйтесь. Вы можете использовать проводник процессов sysinternals. Загрузите его и используйте, чтобы найти процесс с идентификатором 1850, который может зависеть от процесса в Windows.

Спасибо али

person Ali    schedule 20.11.2015

Я также сталкивался с этим сценарием много раз, но когда я проверил запуск пакета вручную, он завершился успешно, потому что я использовал для каждого контейнера цикла и контейнера последовательности. В обоих случаях для каждого цикла и последовательности выполнялись без проверки других Итак, я проверил ограничение приоритета и изменил его, теперь он работает, и все компоненты работают успешно. Иногда мы не выбираем соответствующее ограничение приоритета, есть много вариантов, например Успех, сбой, завершение, а затем вы можете выбрать значения из Ограничение, Выражение, Выражение И Ограничение и Выражение ИЛИ Ограничение. Первоначально я использовал Выражение ИЛИ Ограничение для успеха, а теперь изменил его на Выражение И Ограничение, и у меня все работает нормально. Вам также необходимо сделать это, это определенно сработает, пожалуйста, дайте мне знать.

person Ajeet Verma    schedule 25.11.2019