Компоненты ведения протокола и аудита
Ведение протокола в SSIS было значительно изменено для большей поддержки более низких уровней доступных для протоколирования. К существовавшим ранее возможностям ведения протоколирования на уровне пакета и задачи добавилась возможность задать различные параметры ведения протокола для отдельных задач и пакета. Новая система ведения протоколов также позволяет создание элементов протоколирования для каждого события задачи или пакета.
Это означает, что можно выбрать ведение протокола для тех случаев, когда задача генерирует ошибку, или предупреждения, или когда изменяется значение переменной.
Можно разрешить ведение протокола для пакета при нажатии правой кнопки мыши в редакторе потока данных и выборе Logging или выбрав пункт Logging в меню DTS. По-умолчанию, ведение протокола не включено, поэтому для его конфигурации нужно добавить хотя бы одного провайдера на уровне пакета. На Рисунке 68 можно увидеть три доступных пакету провайдера:
Рисунок 68
После того, как ведение протокола включено, можно указать вести протокол для любой задачи и определить параметры протоколирования. Обратите внимание на кнопку Advanced в закладке Details. При нажатии на неё можно увидеть полный список всех событий и атрибутов, которым можно задать ведение протокола (см. Рисунок 69).
Рисунок 69
События, для которых возможно ведение протокола, на уровне задачи являются теми же событиями, которым можно задать обработку событий. Однако есть и несколько дополнительных событий:
- OnPipelinePostEndOfRowset
- OnPipelinePostPrimeOutput
- OnPipelinePreEndOfRowset
- OnPipelinePrePrimeOutput
- OnPipelineRowsSent
- Diagnostic
Событие OnPipeline разрешено только для событий, генерируемых в задачах потока данных. Событие Diagnostic предназначено для протоколирования текущего окружения и диагностической информации.
Для каждого из этих событий DTS поддерживает пять методов ведения протоколов, или другими словами провайдеров: Text File, SQL Profiler, SQL Server, Windows Event Log, и XML File.
После того, как выбрано, для каких задач и событий вести протоколы, нужно выбрать какие данные будут записываться в протокол. Можно использовать следующие данные:
- Computer
- Operator
- SourceName
- SourceID
- ExecutionID
- MessageText
- DataBytes
Другими словами существуют без преувеличения тысячи разных комбинаций для конфигурации пакета. Если параметры ведения протокола сконфигурировали по Вашему усмотрению, то можно сохранить их во внешний файл, а потом загрузить обратно. Это позволяет иметь различные конфигурации ведения лога для процессов разработки, тестирования и эксплуатации, если эти процессы нуждаются в разных уровнях ведения логов.
И напоследок отметим, что SSIS поддерживает создание пользовательских провайдеров ведения протокола, в которых можно реализовать тот функционал, который лучше всего подходит под Ваши потребности. За более подробной информацией обратитесь к SQL Server Books Online.