Пакет Microsoft SSIS успешно запущен вручную из Visual Studio и каталога служб интеграции SSMS, но не через агент SQL Server - PullRequest
1 голос
/ 05 июля 2019

У меня сложный пакет служб SSIS, который определяет расширение файла из папки и загружает файл в таблицу SQL Server. У меня есть контейнер «Для каждого цикла» для загрузки ряда файлов таким образом из этой папки и загрузки каждого файла в таблицу SQL Server.

После загрузки каждого файла в таблицу SQL Server служба SSIS выполняет задачу файловой системы в потоке управления; эта задача файловой системы сначала создает папку архива, а затем перемещает каждый файл в эту папку архива.

Я использую переменные среды в каталоге служб интеграции SSMS для сопоставления с параметрами в пакете / проекте служб SSIS.

Весь процесс успешен, когда я запускаю пакет служб SSIS в каталоге служб интеграции SSMS вручную, но когда я пытаюсь запустить его через агент SQL Server, загрузка данных и создание папки (задачи файловой системы) завершаются успешно, но не процесс перемещения файла задачи файловой системы. (Агент запускается как учетная запись службы агента SQL Server.)

Я вижу следующую ошибку, когда вижу отчет о выполнении в каталоге служб Integration Services в SSMS:

Задача файловой системы - перемещение файлов: ошибка: произошла ошибка со следующим сообщением об ошибке: «Доступ к пути запрещен.

Хотя агент SQL Server может успешно создать папку с помощью задачи «Файловая система», он не может переместите файл в эту новую папку.

Внутри истории агента SQL Server я вижу это на шаге задания:

Выполнить от имени пользователя: NT Service \ SQLSERVERAGENT. Microsoft (R) SQL Server Execute Package Utility Версия 14.0.2002. 14 для 64-битных. ... Не удалось выполнить пакет на IS-сервере. Код выполнения: 30449, статус выполнения: 4.

Мне не нравится эта проблема с разрешениями в агенте SQL Server. Я читал о некоторых настройках прокси и т. Д., Но не могу понять.

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

1 Ответ

0 голосов
/ 05 июля 2019

Задание агента SQL выполняет пакет с использованием учетной записи службы агента SQL.Когда вы запускаете пакет вручную, пакет выполняется с использованием учетных данных, которые вы использовали для входа. Скорее всего, учетная запись службы агента SQL не имеет достаточного доступа к каталогу, особенно если он только что был создан.Убедитесь, что учетная запись службы имеет полный доступ к каталогу, на который ссылается пакет.Чтобы проверить, является ли это проблемой доступа, войдите на сервер, используя учетные данные учетной записи службы, и вручную запустите пакет из каталога служб SSIS.Если произойдет сбой по той же причине, вы знаете, что вам нужно проверить доступ к файловой системе для учетной записи службы.

...