2013-09-10 3 views
0

У меня проблема, я не могу понять. Я создал пакет SSIS, который использует команду SQL для извлечения данных из Server2. Запрос очень прост, однако он ссылается на представление в соединении. Если я вручную выполнил пакет SSIS на сервере Server1, он получит 925 строк и вставляет его в соответствующую таблицу в Server1. Проблема начинается, когда я планирую этот пакет SSIS работать в ночное время. Он успешно выполняется на первом этапе (обрезание таблицы на Server1 при подготовке к извлечению строк из Server2), но, когда я смотрю на таблицу, есть 0 строк. Когда я изменяю Query, чтобы удалить соединение, ссылающееся на представление (получение нежелательных результатов), запланированный SSIS работает отлично, хотя набор записей, который я получаю, не то, что я хотел, потому что мне нужен этот JOIN. Я не вижу, как это может быть проблема с разрешениями, поскольку она отлично работает без VIEW. Есть что-то, что мне не хватает? Спасибо за помощь.SSIS возвращает 0 строк

Следующий запрос работает только в том случае, если я выполняю SSIS вручную: FilteredAccount - это VIEW . Он должен возвращать более 900 строк и, если я запускаю вручную, но возвращает 0, если выполняется SSIS через агент.

SELECT B.epc_cosmid, A.consultant, A.region 
FROM Consultant2TC AS A JOIN FilteredAccount AS B ON A.consultant = B.epc_serviceconsultantidname 

Если изменить запрос, используя один в пакете SSIS и график, он отлично работает:

SELECT A.consultant, A.region 
FROM Consultant2TC AS A 
+2

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

+0

Есть ли вероятность, что есть два объекта FilteredAccount? Один в схеме по умолчанию для учетной записи, используемой агентом SQL, и той, которая находится в вашей схеме по умолчанию? – billinkc

+0

Попробуйте изменить это, чтобы получить определенную информацию о конфигурации: 'SELECT A.consultant, A.region, @@ servername как SN, db_name() как db, suser_sname() как uname FROM Consultant2TC'. Загрузите это в свою таблицу на ночь, чтобы быть абсолютно уверенным в том, откуда поступают данные. Вы также можете добавить нагрузку непосредственно из представления одновременно, чтобы посмотреть, какое состояние выглядит в это время суток. –

ответ

0

Поскольку вы получаете разные результаты от работы агента и свой собственный логин , очевидным местом для поиска является разрешение. Какие результаты вы получите при запуске запроса из SSMS во время входа в систему, используя учетные данные агента?

Смежные вопросы