Чей вход используется в задании агента SQL Server 2008


У меня есть пакет служб SSIS, который переносит некоторые таблицы в CSV-файлы на сетевом диске; он отлично работает с моего компьютера вручную. Я храню его на сервере в базе данных MSDB и выполняю его оттуда, и он работает нормально, но когда я создаю задание, которое имеет один шаг, который запускает пакет SSIS из MSDB, он терпит неудачу, говоря, что он не может найти имя файла CSV.

Вчера я провел весь день, выясняя, что это означает проблему с разрешениями с любыми учетными данными для входа, которые используются через работа. Владелец задания показывает, что это домен / myuserid, а свойства шага показывают, что они используют проверку подлинности windows с моим именем пользователя. Проблема в том, что я знаю, что у меня есть доступ к этой папке.

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

Командная строка выглядит как @command=N' / SQL " SSIS имя пакета" /Server servername /CHECKPOINTING OFF / REPORTING E '

Edit: я нашел SQL Server agent job account issue, где кто-то спрашивает, под чьим именем выполняется задание, и marc_s говорит: "Я, кажется, не могу найти никаких окончательных ответов на этот вопрос. Поскольку мои задания обычно выбирают и обновляют материал в базе данных, я вынужден предположить, что учетная запись" владелец "будет использоваться по умолчанию, если вы не укажете какую-то другую учетную запись на данном шаге"

Что также приводит меня к мысли, что он использует мой информация для входа, имеющая доступ

2 2

2 ответа:

Лучший способ, который мы смогли придумать здесь, - создать учетную запись домена для служб SSIS, а затем настроить прокси-сервер в SQL Server, который используется для запуска пакета служб SSIS в задании SQL.

Я бы сказал, что учетная запись servername\SYSTEM является локальной учетной записью и поэтому не будет иметь доступа к сетевым папкам на других серверах.

Вероятно, вы хотите запустить это как доменную учетную запись, которая имеет доступ.

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

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