Задача «Файловая система» из служб SSIS не работает в агенте SQL Server (без ошибок) - PullRequest
1 голос
/ 17 октября 2019

У меня есть задача файловой системы, которая выполняет некоторые ETL (перемещает некоторые файлы .txt, копирует в другой каталог, переименовывает) между серверами.

enter image description here

Когда я запускаю этот пакет из Visual Studio, он работает хорошо, он копирует файлы с одного сервера на другой, переименовывает и архивирует. но когда я настроил его для запуска из агента SQL Server, он завершается без ошибок, но не работает ни с одним файлом (без копирования, без переименования, без перемещения) даже на одном уровне сервера.

  • Я дал полное разрешение на имя службы агента сервера SQL для папок, в которых находятся файлы и которые необходимо поместить.
  • Пакет работает в X64 и 32-битном режимебез ошибок.
  • Для безопасности пакета установлено значение "DontSaveSensitive"
  • Для Run64BitRuntime установлено значение "true"

это журнал истории выполнения задания:

Выполнено от имени пользователя: USERNAME. Microsoft (R) SQL Server Execute Package Utility версии 12.0.2548.0 для 64-разрядных продуктов. Copyright (C) Microsoft Corporation. Все права защищены. Начато: 15:08:56. DTExec: выполнение пакета вернуло DTSER_SUCCESS (0). Начало: 15:08:56 Окончание: 15:08:57 Прошедшее: 0,688 секунды. Пакет успешно выполнен. Шаг успешно выполнен.

Все пути, которые я использую для пакета, имеют формат:

\\ServerName\directory\subDir

Мой вопрос будет таким: как узнать, почему задача файловой системына самом деле не работает?

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

РЕДАКТИРОВАТЬ: я добавляю файлы журналов из того, что я выполняю из VisualStudio (тот, который работает) и когда пакет вызывается из SQL ServerАгент.

Я заменю имена серверов и имена пользователей, но покажу, какие разрешения они имеют для разных папок.

**MyUsername**  = Username when I run from visual studio
**ORIGIN**  =  Origin server from where I copy the files
**DESTINATION** =  Destination server where I put them and manipulate
**SqlServerAgent**  = ServerAgent name

При запуске из Visual Studio (ипакет работает с файлами):

Войдите в Pastebin (VisualStudio)

и файлы журналов, когда я запускаюсь из агента SQL Server:

log sql server agent

И информация о разрешениях:

enter image description here

enter image description here

1 Ответ

0 голосов
/ 18 октября 2019

Я обнаружил проблему, не было в Параметрах или разрешении. Проблема заключалась в том, что For Each Loop указывал на подключенный диск вместо полного квалифицированного пути, как остальные папки, следовательно, For Each Loop ничего не находил. Однако разрешения были в порядке, просто ничего не нашли.

...