2014-11-18 2 views
0

Я довольно новичок в мире SSIS.Invoke SP_SSIS_ADDLOGENTRY изнутри службы SSIS

Для пользовательского ведения журнала я хочу передать некоторые дополнительные переменные в SP_SSIS_ADDLOGENTRY proc из SSIS, а также изменить его с помощью собственного кода. Pls сообщите мне: -

  1. С какого места в SSIS вызывается SP_SSIS_ADDLOGENTRY? Чтобы я мог найти и отредактировать его, чтобы передать несколько дополнительных переменных из SSIS.
  2. Я не смог найти SP на сервере sql. Где я могу найти SP, так что я могу изменить его, чтобы добавить мой собственный код

Мы используем SQL Server 2012.

Спасибо.

ответ

1

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

sp_ssis_addlogentry выполняется программно из SSIS, и нет способа изменить способ работы. Вы можете использовать метод Dts.Events.Fire<Event> для регистрации пользовательских записей, но этот интерфейс не позволит вам добавлять новые столбцы, например.

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

Кроме того, обратите внимание, что если вы используете модель развертывания проекта, таблицы, которые регистрируются, находятся в каталоге SSISDB. Они захватывают больше информации, но в некоторых аспектах они по-прежнему отсутствуют, например, подсчет строк.

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