Как создать журнал ошибок или собственный журнал ошибок в пакете служб SSIS? - PullRequest
7 голосов
/ 24 апреля 2011

Я работаю над SQL 2008 - пакет служб SSIS. Я выполняю пакет из кода C #. Это простой плоский файл (.csv) в таблицу SQL.

Из кода C # я получаю результат выполнения как SUCCESS, но внутри пакета транзакции не принимаются, поэтому значения на самом деле не экспортируются.

Мне нужно отладить его, прочитав файл журнала.

Как создать журнал ошибок или файл журнала внутри пакета?

Ответы [ 2 ]

21 голосов
/ 27 мая 2011

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

Пошаговый процесс:

  1. Пакет служб SSIS в этом примере содержит задачу отправки почты, настроенную, как показано на снимке экрана # 1 .Он настроен на сбой, поэтому мы можем видеть некоторые сообщения об ошибках в таблице журнала.
  2. Нажмите на пакет служб SSIS.
  3. В меню выберите SSIS -> Ведение журнала ... См. Снимок экрана# 2 .
  4. В диалоговом окне «Настройка журналов служб SSIS:» выберите тип поставщика и нажмите «Добавить».Я выбрал SQL Server для этого примера.Установите флажок Name и укажите источник данных в столбце Configuration.Здесь SQLServer - это имя диспетчера соединений.Служба SSIS создаст таблицу с именем dbo.sysssislog и хранимую процедуру dbo.sp_ssis_addlogentry в выбранной вами базе данных.См. Снимок экрана # 3 ниже.
  5. Если вам необходимо зафиксировать ошибки, установите флажки OnError и OnTaskFailed.См. Снимок экрана # 4 ниже.
  6. Пример выполнения пакета в задаче потока данных показан на снимке экрана # 5 ниже.
  7. Пример вывода журналаТаблица dbo.sysssislog показана на скриншоте # 6 ниже.Я только отображал несколько столбцов id, event, source и message.В таблице есть другие столбцы.Столбец сообщения содержит сообщение об ошибке, здесь в этом случае неправильное имя сервера, указанное в задаче «Отправить почту».Исходный столбец содержит задачу, в которой она не выполнена.Здесь, в данном случае, имя пакета SSISLoggingExample , а Задача отправки почты называется Задача электронной почты .Сообщения об ошибках будут пузыриться от задачи до уровня пакета.Следовательно, сообщение об ошибке регистрируется дважды как под задачей, так и на уровне пакета.

Надеюсь, это поможет.

Снимок экрана № 1:

1

Снимок экрана № 2:

2

Снимок экрана № 3:

3

Снимок экрана № 4:

4

Снимок экрана № 5:

5

Снимок экрана № 6:

6

2 голосов
/ 27 апреля 2011

Очень легко регистрировать ошибки в SSIS.Перейдите на вкладку Обработчики событий, выберите OnError из выпадающего списка.Теперь здесь вы можете отправить электронное письмо о любой ошибке или разработать собственную собственную логику для регистрации ошибок в БД или записи в текстовый файл.

Также вы можете выбрать один из существующих механизмов ведения журналов, доступных в SSIS.Нажмите на меню «SSIS», вы увидите первую опцию как Logging, затем вы увидите различные опции для регистрации ошибок / предупреждений и всей необходимой вам информации.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...