Аудит и обработка ошибок в SSIS - PullRequest
2 голосов
/ 06 апреля 2011

Мы начинаем проект для обработки больших, больших плоских файлов.Эти файлы в некотором роде «нормализованы», и мы хотим сначала обработать их в промежуточный файл.

Я хотел бы увидеть настраиваемую таблицу для строк аудита и настраиваемую таблицу для ошибок, возникающих во время обработки.Кроме того, ошибки должны храниться в журнале событий.

Каковы оптимальные методы аудита и обработки ошибок в целом для служб SSIS (VS2008)?

(изменить) Мы сделали (я думаю) очень элегантное решение, разработав 1 мастер-пакет.Этот пакет запускает дочерний пакет (тот, который изначально предназначен).Главный пакет подписывается на 3 события, такие как OnInformation, OnWarning и OnError.Эти события направляются в общую службу аудита и ведения журналов, которая выполняет вызовы в блоки обработки журналов и исключений Enterprise Library.

1 Ответ

1 голос
/ 01 июня 2011

Я бы порекомендовал вам принять следующую философию для стабильных процессов etl, исходящих из файлов:

  1. Никогда ничего не разыгрывайте в соединителе, просто импортируйте поля как nvarchars максимальной длины, которую они достигнут.
  2. Процедурно добавить счетчик строк для отслеживания ошибок при ошибках приведения.
  3. Приведите и управляйте каждым столбцом в соответствии с вашими требованиями.
  4. Если строка не может быть прочитана на каком-то этапе, вы не будете знать индекс, но вы будете знать, что файл искажен (что, по моему мнению, крайне редко встречается для половины переданных файлов), и его все равно следует отклонить.

Быстрый скриншот части процесса загрузки файла показывает, как может работать отклонение (после назначения row_id) ( ссылка на изображение потока данных ). К этому вы можете добавить дополнительные бесчисленные проверки (дубликаты ...) и даже иметь хранилище для загруженных файлов, чтобы проверить отклонения и все остальное, что вы, возможно, захотите контролировать ( Ссылка на изображение потока управления ).

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

В любом случае, извините, что не могу быть более подробным (из-за моего статуса я не могу добавить больше ссылок или изображений), но я надеюсь, что вы понимаете концепцию.

С уважением,

Francisco.

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