Вход агента SQL - что происходит? - PullRequest
1 голос
/ 13 апреля 2010

У меня есть пакет DTSX, который вызывается из задания агента SQL.

Пакет DTSX ссылается на файл в фиксированном месте (например, e: \ mssql \ myfile.txt).

На большинстве машин это местоположение существует, но на некоторых мне нужно вручную отобразить это (что не является проблемой - я знаю, что лучшим решением было бы использование конфигураций пакета для динамического извлечения местоположения файла, но это не вариант здесь - и в любом случае я хотел бы понять, что происходит)

Я настроил службу агента для запуска от имени определенного пользователя (например, myuser )

Когда я вхожу в систему как этот пользователь и сопоставляю каталог, затем запускаю пакет dtsx напрямую, тогда все идет хорошо.

Когда я запускаю пакет через задание агента SQL, файл не может быть найден. Если я добавлю шаг задания командной строки в задание агента для сопоставления диска:

net use e: \\svr\location

Тогда все тоже работает файл.

Так что же происходит на заднем плане? Почему пользователь агента SQL запрашивает сопоставление дисков, даже когда я вошел в систему как этот пользователь.

1 Ответ

2 голосов
/ 18 мая 2011

Проблема в том, что ваш агент SQL не работает под тем пользователем, под которым вы вошли. Вы можете убедиться в этом в сообщении об ошибке истории заданий sql.

Перейдите в службы и перейдите на службу агента sql для запуска под учетной записью службы myuser.

Также другим предложением будет предоставить общий доступ к папке svr, чтобы иметь разрешение для myuser. Таким образом, вы должны беспокоиться о пути к папке.

...