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


Отладка потока управления

Среда SQL Server Data Tools (SSDT) и службы Microsoft Службы Integration Services включают в себя функции и средства, которые можно использовать для устранения неполадок в работе потока управления в пакете служб Службы Integration Services.

  • Службы Службы Integration Services поддерживают точки останова в контейнерах и задачах.

  • Конструктор служб Службы SSIS во время выполнения предоставляет отчет о ходе выполнения.

  • SQL Server Data Tools (SSDT) предоставляет окна отладки.

Точки останова

Конструктор служб Службы SSIS предоставляет диалоговое окно Задание точек останова, в котором можно установить точки останова по следующим критериям: выполнение определенного внутреннего условия и количество проходов по данной точке до приостановления выполнения пакета. Точки останова могут быть установлены на уровне пакета или на уровне компонента. Если условие останова установлено на уровне задачи или контейнера, то значок точки останова отображается рядом с задачей или контейнером в области конструктора на вкладке Поток управления. Если условие останова установлено на уровне пакета, то значок точки останова отображается в метке вкладки Поток управления.

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

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

Условие останова

Описание

Задача или контейнер получает событие OnPreExecute.

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

Задача или контейнер получает событие OnPostExecute.

Вызывается сразу после того, как задача завершит свою работу. Это событие возникает сразу после того, как задача или контейнер завершит свое выполнение.

Задача или контейнер получает событие OnError.

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

Задача или контейнер получает событие OnWarning.

Вызывается, когда задача находится в состоянии, еще не подтверждающем ошибку, но уже требующем передачи предупреждения.

Задача или контейнер получает событие OnInformation.

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

Задача или контейнер получает событие OnTaskFailed.

Вызывается сервером задач при возникновении ошибки.

Задача или контейнер получает событие OnProgress.

Вызывается для обновления информации о ходе выполнения задачи.

Задача или контейнер получает событие OnQueryCancel.

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

Задача или контейнер получает событие OnVariableValueChanged.

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

ПредупреждениеВнимание!

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

Задача или контейнер получает событие OnCustomEvent.

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

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

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

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

  • Тип счетчика попаданий или правило, определяющее, когда условие останова запускает точку останова.

Типы счетчика попаданий, кроме типа Always, уточняются числом попаданий. Например, если тип — «Число попаданий» и число попаданий — 5, то выполнение будет остановлено на 6-м событии условия останова.

В следующей таблице описываются типы счетчика попаданий.

Тип счетчика попаданий

Описание

Всегда

Выполнение приостанавливается при каждом попадании в точку останова.

Число попаданий

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

Число попаданий больше или равно

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

Число попаданий кратно

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

Задание точки останова

Отчет о состоянии

Конструктор служб Службы SSIS включает два типа отчетов о состоянии: выделение цветом в области конструктора на вкладке Поток управления и сообщения о состоянии на вкладке Выполнение.

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

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

Цвет

Состояние выполнения

Серый

Ожидание выполнения

Желтый

Выполнение

Зеленый

Успешное завершение

выделенный текст

Завершение с ошибками

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

ПримечаниеПримечание

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

Вкладка Выполнение показана на следующей диаграмме.

Вкладка «Ход выполнения» конструктора служб SSIS

Окна отладки

Среда SQL Server Data Tools (SSDT) содержит много окон, которые можно использовать для работы с точками останова и для отладки пакетов, содержащих точки останова. Чтобы получить больше информации по каждому из окон, откройте окно и нажмите клавишу F1 для получения справки.

Для открытия этих окон в SQL Server Data Tools (SSDT), выберите меню Отладка, выберите пункт Окна и выберите пункт Точки останова, Вывод или Немедленно.

В следующей таблице приводятся описания этих окон.

Окно

Описание

Точки останова

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

Вывод

Отображает сообщения о состоянии объектов SQL Server Data Tools (SSDT).

Немедленно

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

Значок служб Integration Services (маленький) Будьте в курсе новых возможностей служб Integration Services

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


Чтобы получать автоматические уведомления об этих обновлениях, подпишитесь на RSS-каналы, предлагаемые на этой странице.

См. также

Задания

Инструменты устранения неполадок при разработке пакета