Поделиться через


Реализация ведения журналов в пакетах

Изменения: 15 сентября 2007 г.

Службы SQL Server 2005 Integration Services (SSIS) включают возможности ведения журналов, которые создают записи журнала для событий времени выполнения, а также могут записывать пользовательские сообщения.

Службы Integration Services предоставляют большой набор регистраторов и дают возможность создавать пользовательские регистраторы. Регистраторы служб Integration Services могут помещать записи журнала в текстовые файлы, SQL Server Profiler, SQL Server, журнал событий Windows или XML-файлы.

Журналы ассоциируются с пакетами и настраиваются на уровне пакета. Каждая задача или контейнер пакета может вести журнал в любом журнале пакета. Можно включить ведение журналов задач и контейнеров пакета, даже если ведение журнала содержащего их пакета не включено. Например, можно включить ведение журнала задачи «Выполнение SQL», не включая ведение журнала ее родительского пакета. Пакет, контейнер и задача могут делать записи в нескольких журналах. Можно включить ведение журнала только для пакета либо для любой индивидуальной задачи или контейнера, содержащегося в пакете.

Чтобы настроить ведение журнала для события или пользовательского сообщения, службы Integration Services предоставляют схему общих записываемых данных для включения в записи журнала. Схема журнала служб Integration Services определяет данные, которые можно сохранить в журнал. Можно выбрать элементы схемы журнала для каждой записи.

Пакету и его контейнерам и задачам не требуется производить запись одних и тех же данных, и задачи одного пакета или контейнера могут производить запись различных данных. Например, пакет может производить запись сведений об операторе при запуске, одна задача может производить запись об источнике ошибки, а другая задача может производить запись о времени этой ошибки. Если пакет и его задачи, а также контейнеры используют несколько журналов, то одни и те же данные записываются во все журналы.

Можно выбрать необходимый уровень ведения журналов, указав события и данные каждого события для записи. Можно обнаружить, что одни события предоставляют более полезные сведения, чем другие. Например, можно записывать в журнал не только имена компьютеров и операторов для события PreExecute, но и все доступные данные о событии Error.

Для предотвращения использования журналами больших объемов дискового пространства или во избежание избыточного ведения журналов, которое может уменьшить производительность, можно ограничить ведение журналов, выбрав отдельные события и элементы данных для записи. Например, можно настроить журнал на запись только даты и имени компьютера для каждой ошибки.

В конструкторе служб SSIS можно определить параметры ведения журналов с помощью диалогового окна Настройка журналов служб SSIS.

Схема журнала

Следующая таблица описывает элементы схемы журнала.

Элемент Описание

Computer

Имя компьютера, на котором произошло событие журнала.

Operator

Удостоверение пользователя, выполнившего запуск пакета.

SourceName

Имя контейнера или задачи, где произошло событие журнала.

SourceID

Уникальный идентификатор пакета контейнеров «цикл по элементам», «цикл по каждому элементу» или контейнера последовательности; или задача, в которой произошло событие журнала.

ExecutionID

Идентификатор GUID экземпляра выполнения пакета.

MessageText

Сообщение, связанное с записью журнала.

DataBytes

Байтовый массив, специфичный для записи журнала. Значение этого поля изменяется в зависимости от записи журнала.

В следующей таблице описаны три дополнительных элемента в схеме журнала, которые не появляются на вкладке Подробности диалогового окна Настройка журналов служб SSIS.

Элемент Описание

StartTime

Время, в которое начинается запуск контейнера или задачи.

EndTime

Время, в которое останавливается работа контейнера или задачи.

DataCode

Необязательное целочисленное значение, которое обычно содержит значение из перечисления DTSExecResult, показывающее результат выполнения контейнера или задачи:

  • 0 — успешное завершение;
  • 1 — неуспешное завершение;
  • 2 — завершено;
  • 3 — отменено.

Записи журнала

Службы Integration Services поддерживают записи журнала для стандартных событий и предоставляют пользовательские записи журнала для многих объектов служб Integration Services. В конструкторе служб SSIS эти события и пользовательские записи журнала перечислены в диалоговом окне Настройка журналов служб SSIS.

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

События Описание

OnError

Производит запись в журнал при возникновении ошибки.

OnExecStatusChanged

Производит запись в журнал при изменении состояния выполнения исполняемого объекта.

OnInformation

Производит запись в журнал во время проверки подлинности и выполнения исполняемого объекта.

OnPostExecute

Производит запись немедленно после окончания выполнения исполняемого объекта.

OnPostValidate

Производит запись в журнал при завершении проверки подлинности исполняемого объекта.

OnPreExecute

Производит запись сразу перед началом выполнения исполняемого объекта.

OnPreValidate

Производит запись в журнал при начале проверки подлинности исполняемого объекта.

OnProgress

Производит запись в журнал в процессе выполнения исполняемого объекта.

OnQueryCancel

Производит запись в журнал при любом присоединении к обработке задачи в тот момент, когда возможна отмена ее выполнения.

OnTaskFailed

Производит запись в журнал при возникновении ошибки задачи.

OnVariableValueChanged

Производит запись в журнал при изменении значения переменной.

OnWarning

Производит запись в журнал при возникновении предупреждения.

В пакете и во многих задачах есть пользовательские записи журнала, которые можно включить для ведения журнала. Например, задача «Отправка почты» предоставляет запись журнала SendMailTaskBegin, которая производит запись данных в начале выполнения задачи «Отправка почты», но перед тем, как задача осуществляет отправку почты. Дополнительные сведения см. в разделе Пользовательские сообщения для ведения журнала.

Различие копий пакета

Данные журнала содержат имя и идентификатор GUID пакета, которому принадлежит запись журнала. Для создания копии пакета путем копирования существующего пакета имя и идентификатор GUID существующего пакета тоже копируются. Это приводит к появлению двух элементов с одинаковыми именами и идентификаторами GUID, что приводит к трудностям при выделении пакетов из данных журнала.

Чтобы устранить неоднозначность, следует обновить имя и идентификатор GUID новых пакетов. В среде Business Intelligence Development Studio можно заново сформировать идентификатор GUID для свойства ID и обновить значение свойства Name в окне свойств. Можно также изменить имя и идентификатор GUID программно или с помощью команды dtutil . Дополнительные сведения см. в разделах Установка свойств пакета и Программа dtutil.

Параметры родительского ведения журналов

Часто параметры ведения журналов задач и контейнеров «цикл по элементам» и «цикл по каждому элементу», а также контейнеров последовательности соответствуют параметрам пакета или родительского контейнера. В этом случае можно настроить их для наследования настроек ведения журналов от родительского контейнера. Например, в контейнере «цикл по элементам», включающем задачу «Выполнение SQL», эта задача может использовать параметры ведения журналов, установленные для контейнера «цикл по элементам». Для использования родительских параметров ведения журналов установите свойство контейнера LoggingMode в UseParentSetting. Можно установить это свойство в окне Свойства среды Business Intelligence Development Studio или через диалоговое окно Настройка журналов служб SSIS в конструкторе служб SSIS.

Шаблоны ведения журналов

В диалоговом окне Настройка журналов SSIS также можно создать и сохранить часто используемые параметры ведения журналов в качестве шаблонов, и затем использовать эти шаблоны во многих пакетах. Это облегчает применение согласованной стратегии ведения журналов многочисленных пакетов и изменения параметров ведения журналов пакетов путем обновления шаблонов с последующим их применением. Шаблоны хранятся в XML-файлах.

Настройка ведения журналов с помощью диалогового окна «Конфигурация журналов служб SSIS»

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

  2. Выберите регистратора и добавьте журнал пакета. Журналы могут быть созданы только на уровне пакета, а задача или контейнер должны использовать один из журналов, созданных для пакета. Каждый из журналов ассоциирован с одним из следующих регистраторов: текстовый файл, SQL Server Profiler, SQL Server, журнал событий Windows или XML-файл. Дополнительные сведения см. в разделе Как включить ведение журналов в пакете.

  3. Выберите события и схему данных журнала для этих событий, запись о которых должна содержаться в журнале. Дополнительные сведения см. в разделе Как настроить ведение журнала в контейнере.

Просмотр записи журнала во время разработки пакета

См. также

Основные понятия

Регистраторы служб Integration Services

Другие ресурсы

Создание пакетов в конструкторе служб SSIS

Справка и поддержка

Получение помощи по SQL Server 2005

Журнал изменений

Версия Журнал

15 сентября 2007 г.

Добавления
  • Добавлена таблица, которая описывает элементы в схеме журнала, не появляющиеся на вкладке Подробности.

5 декабря 2005 г.

Добавления
  • Добавлены сведения о схемах журнала и пользовательские сообщения для записей журнала.
  • Объяснено, как различать копии пакетов.
Изменения
  • Расширенное описание ведения журнала на уровне пакетов по сравнению с ведением журнала для отдельных объектов.