Новые возможности SQL Server 2005 Integration Services


Компоненты управления ошибками - часть 2


Рисунок 65

Для задач преобразования данных обработка ошибок может заключаться в создании дополнительного приемника данных (типа OLE DB, Flat File, или Raw File), в который будут передаваться ошибочные записи. При нажатии кнопки мыши на приемнике трансформации появится красная стрелка, которая соответствует ограничению приоритете OnFailure. При перетаскивании этой стрелки к новому приемнику появится диалоговое окно Error Dispositions, как показано на Рисунке 66.

Рисунок 66

В этом диалоге можно задать автоматическую обработку ошибок данных двух разных типов - критические ошибки (например, нарушение Первичного Ключа) и ошибки усечения. Эти ошибки можно пропустить, отказать или перенаправить в альтернативный приемник. В данном выше примере любые критические ошибки, возникшие в столбцах Col1, Col2, или Col3, будут переданы в источник данных по имени Error, но разрешена передача далее усеченных данных. В приведенной ниже таблицы описаны возможные действия.

ОпцияОписание

Fail Component Вся задача потока данных завершается при возникновении любой серьезной ошибки.
Ignore Failure Задача потока данных завершается успешно, невзирая на то имели ли место ошибки или нет.
Redirect RowВызвавшая ошибку запись перенаправляется в соответствующий приемник данных.

Если нужно избавиться от ошибок путем перемещения их в новый приемник (т.е. нужно просто не игнорировать ошибки и не прерывать пакет), то нужно определить отображения ошибки. Дважды нажмите кнопку мыши на соединении приемника данных по имени Error, после чего выберите таблицу, в которую будут копироваться ошибочные данные, а затем выберите закладку Mapping (см. Рисунок 67). Можно заметить там появление двух дополнительных столбцов в списке столбцов источника - ErrorCode и ErrorColumn. Они будут содержать информацию об ошибке каждой ошибочной записи преобразования и их также можно поместить в таблицу ошибок.

Рисунок 67

И напоследок нужно запретить свойство Fast Load для преобразования приемника данных. Если это свойство разрешено, то SSIS будет применять пакетное добавление записей, при котором ошибки уровня записи будут недоступны. Такое решение приведет к некоторой потере производительности, но это необходимая "цена" за возможность перенаправить все ошибки.




- Начало -  - Назад -  - Вперед -



Книжный магазин