Выполнить пакет ssis с помощью dtexec - ведение журнала sql-сервера не записывает события в базу данных

Я использую инструменты данных sql server для создания пакетов ssis для извлечения данных из AS400 в базу данных sql 2012 express. Я использую Windows 7, 64-битную версию. Я создал пакеты и настроил ведение журнала в текстовый файл и базу данных sql-сервера в Visual Studio Shell. При запуске в оболочке Visual Studio пакет выполняется, и текстовый файл журнала и таблица sysssislog заполняются. Однако при выполнении упаковки с помощью Планировщика Windows и утилиты dtexec таблица журнала sql-сервера не заполняется, но заполняется текстовый файл.

Кто-нибудь знает, нужно ли предоставить какой-либо из учетных записей служб в базе данных специальные разрешения, чтобы при выполнении с использованием утилиты dtexec обновлялась таблица журнала sysssislog? Возможно ли, что dtexec использует учетную запись, у которой нет разрешений ни на запись в таблицу журнала, ни на выполнение хранимой процедуры?

Единственный аргумент, который я использую в Планировщике Windows, - это / f "\ server \ filepath \ package.dtsx". Я установил логирование в visual studio. Возможно ли, что логирование тоже нужно настроить в качестве аргумента?

Пожалуйста, дайте мне знать, если потребуется дополнительная информация.


person Andrew Corson    schedule 17.07.2014    source источник
comment
В вызове dtexec добавьте /rep EWI (ошибка, предупреждение, информация). Бьюсь об заклад, вы увидите что-то вроде разрешения CREATE TABLE, запрещенного в базе данных X, или что-то в этом роде   -  person billinkc    schedule 17.07.2014
comment
Я ничего об этом не видел. Таблица журнала уже существует, потому что она была создана, когда я запускал пакет в Visual Studio. Он просто не будет ничего записывать при запуске с dtexec.   -  person Andrew Corson    schedule 17.07.2014
comment
Запустите SQL Profiler и посмотрите, где, по вашему мнению, он должен вести журнал. Вы должны увидеть соединение и звонки на sp_ssis_addlogentry   -  person billinkc    schedule 17.07.2014
comment
Я запускаю sql express и только что прочитал еще одно сообщение об аналогичной ошибке. Я проверил и полагаю, что на самом деле у меня не установлены службы интеграции - у меня есть инструменты для работы с данными, но это объясняет, почему у меня возникают проблемы с запуском пакета вне инструментов для работы с данными, верно? Я даже не думаю, что экспресс идет с профилировщиком sql.   -  person Andrew Corson    schedule 17.07.2014
comment
Да, отсутствие установленной службы интеграции (что на самом деле сводится к лицензированию) помешает запуску пакета. Мне кажется любопытным, что ваш текстовый файл ошибок заполнен.   -  person billinkc    schedule 17.07.2014
comment
Что ж, даже несмотря на то, что у меня нет нужного мне решения, я ценю вашу помощь.   -  person Andrew Corson    schedule 17.07.2014


Ответы (1)


Оказывается, проблема заключалась в том, что на моем компьютере не установлен SSIS, а только конструктор (SSDT), поэтому ведение журнала работало правильно при выполнении пакета в Visual Studio, но не при использовании утилиты DTExec.

person Andrew Corson    schedule 21.07.2014