Примечание.
Для доступа к этой странице требуется авторизация. Вы можете попробовать войти или изменить каталоги.
Для доступа к этой странице требуется авторизация. Вы можете попробовать изменить каталоги.
Область применения:SQL Server
среда выполнения интеграции SSIS в Фабрика данных Azure
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 . | Вызывается задачами для генерации пользовательских событий, определённых задачей. |
В дополнение к условиям останова, доступным для всех задач и контейнеров, некоторые задачи и контейнеры имеют дополнительные условия останова для установки точек останова. Например, можно включить условие прерывания в контейнере цикла For, при котором задается точка останова, приостанавливающая выполнение в начале каждой итерации цикла.
Чтобы сделать точку останова более гибкой и расширить её возможности, можно изменить её поведение, указав следующие параметры:
Число срабатываний, или максимальное количество срабатываний условия останова, после которого выполнение приостанавливается.
Тип подсчета попаданий или правило, указывающее, когда условие прерывания вызывает срабатывание точки останова.
Типы счетчика попаданий, кроме типа Always, уточняются числом попаданий. Например, если тип — «Количество срабатываний равно», а количество срабатываний равно 5, то выполнение приостанавливается при шестом срабатывании условия точки останова.
В следующей таблице описаны типы подсчета попаданий.
| Тип счетчика попаданий | Описание |
|---|---|
| Всегда | Выполнение всегда приостанавливается при достижении точки останова. |
| Количество попаданий равно | Выполнение приостанавливается, если число попаданий в точку останова равно значению счетчика попаданий. |
| Число попаданий больше или равно | Выполнение приостанавливается, когда количество срабатываний точки останова равно или превышает значение счётчика срабатываний. |
| Множитель числа попаданий | Выполнение приостанавливается, когда значение счётчика попаданий кратно заданному. Например, если задать для этого параметра значение 5, выполнение будет приостанавливаться каждый пятый раз. |
Установить точки останова
Отчет о ходе выполнения
Конструктор служб SSIS включает два типа отчетов о ходе выполнения: цветовую кодировку на вкладке "Поток управления" и сообщения о ходе выполнения на вкладке "Ход выполнения ".
При запуске пакета конструктор служб SSIS отображает ход выполнения, отображая каждую задачу или контейнер с помощью цвета, указывающего состояние выполнения. По этому цвету можно определить, ожидает ли элемент выполнения или выполняется в данный момент, завершилось ли его выполнение успешно или с ошибкой. После того, как выполнение пакета останавливается, выделение цветом исчезает.
В следующей таблице описаны цвета, используемые для обозначения состояния выполнения.
| Цвет | Состояние выполнения |
|---|---|
| Серый | Ожидание запуска |
| Желтый | Выполняется |
| Зеленый | Выполнено успешно |
| выделенный текст | Выполнено с ошибками |
Вкладка Выполнение содержит список задач и контейнеров в порядке их выполнения, а также время запуска и завершения выполнения, предупреждения и сообщения об ошибках. После того как выполнение пакета остановлено, данные о ходе выполнения могут быть получены на вкладке Результаты выполнения .
Примечание.
Чтобы включить или отключить отображение сообщений на вкладке Выполнение , установите или снимите флажок Отчет о ходе отладки в меню Службы SSIS .
На следующей схеме показана вкладка Ход выполнения.
Окна для отладки
SQL Server Data Tools (SSDT) включает множество окон, которые можно использовать для работы с точками останова, а также для отладки пакетов, содержащих точки останова. Чтобы узнать больше о каждом окне, откройте окно, а затем нажмите клавишу F1, чтобы отобразить справку для этого окна.
Чтобы открыть эти окна в SQL Server Data Tools (SSDT), выберите меню Отладка, наведите указатель на пункт Windows, а затем выберите Точки останова, Вывод или Окно команд.
Каждое из окон описано в таблице ниже.
| Окно | Описание |
|---|---|
| Точки останова | Содержит список точек останова пакета и позволяет устанавливать и удалять точки останова. |
| Выходные данные | Отображает сообщения о состоянии функций в SQL Server Data Tools (SSDT). |
| Немедленно | Используется для отладки и вычисления выражений и вывода значений переменных. |
Выполнение отладки пакета путем установки точек останова для задачи или контейнера
В этой процедуре описано, как установить точки останова в пакете, задаче, контейнере цикла For, контейнере цикла Foreach или контейнере последовательности.
Установка точки останова в пакете, задаче или контейнере
В SQL Server Data Tools (SSDT) откройте проект служб Integration Services, содержащий нужный пакет.
Дважды щелкните пакет, в котором нужно установить точки останова.
В конструкторе служб SSIS сделайте следующее.
Чтобы установить точки останова в объекте пакета, перейдите на вкладку Поток управления , поместите курсор где-либо на заднем плане области конструктора, щелкните правой кнопкой мыши и выберите пункт Изменить точки останова.
Чтобы установить точки останова в потоке управления пакета, щелкните вкладку Поток управления, щелкните правой кнопкой мыши задачу, контейнер «цикл For», контейнер «цикл Foreach» или контейнер последовательности, а затем щелкните Изменить точки останова.
Чтобы установить точки останова в обработчике событий, щелкните вкладку Обработчик событий, щелкните правой кнопкой мыши задачу, контейнер цикла For Loop, контейнер цикла Foreach Loop или контейнер Sequence, а затем выберите пункт Изменить точки останова.
В диалоговом окне Настройка точек останова <имя контейнера> выберите точки останова, которые нужно включить.
При необходимости измените тип счетчика попаданий и значение числа попаданий для каждой точки останова.
Чтобы сохранить пакеты, выберите пункт Сохранить выбранные элементы в меню Файл .
Установка точек останова
Диалоговое окно Установка точек останова используется для указания событий, для которых будут включены точки останова, а также управления поведением точек останова.
Параметры
Включено
Выберите, чтобы включить точку останова для события.
Условие разрыва
Позволяет просмотреть список доступных событий, для которых можно установить точки останова.
Тип счетчика попаданий
Позволяет указать условия срабатывания точки останова.
| значение | Описание |
|---|---|
| Всегда | Выполнение всегда приостанавливается при достижении точки останова. |
| Число совпадений равно | Выполнение приостанавливается, если число попаданий в точку останова равно значению счетчика попаданий. |
| Число попаданий больше или равно | Выполнение приостанавливается, когда количество срабатываний точки останова равно или превышает значение счётчика срабатываний. |
| Количество попаданий кратно | Выполнение приостанавливается, когда значение счётчика попаданий кратно заданному. Например, если задать для этого параметра значение 5, выполнение будет приостанавливаться каждый пятый раз. |
Число попаданий
Позволяет задать число попаданий в точку останова, необходимое для приостановки выполнения. Этот параметр недоступен, если точка останова всегда активна.