Устранение неполадок инструментов с помощью отчетов

Применимо к: SQL Server Integration Runtime служб SSIS в Фабрика данных Azure

Службы Integration Services включают функции и инструменты, которые можно использовать для устранения неполадок пакетов после их завершения и развертывания.

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

  • Перехват и обработка ошибок пакетов с помощью обработчиков событий.

  • Обнаружение недопустимых данных с помощью вывода ошибок.

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

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

  • Обеспечивайте целостность данных с помощью транзакций. Дополнительные сведения см. в разделе Транзакции служб Integration Services.

  • Перезапускайте пакеты с точки сбоя, используя контрольные точки. Дополнительные сведения см. в разделе Restart Packages by Using Checkpoints.

Перехват и обработка ошибок пакетов с помощью обработчиков событий

Обработчики событий могут реагировать на многие события, вызванные пакетами и объектами в них.

  • Создайте обработчик события для события OnError. В обработчике событий с помощью задачи «Отправка почты» можно уведомить администратора о сбое, использовать задачу «Скрипт» и специальную логику для получения системных сведений, чтобы устранить неполадки или очистить временные ресурсы и неполные выходные данные. Дополнительные сведения см. в разделе Обработчики событий Integration Services (SSIS).

Устранение неполадок в данных путем вывода ошибок

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

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

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

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

    Значение столбца сообщения для DiagnosticEx — это XML-текст. Для просмотра текста сообщения о выполнении пакета выполните запрос к представлению catalog.operation_messages (база данных SSISDB). Обратите внимание, что событие DiagnosticEx не сохраняет пробелы в выводе XML, чтобы уменьшить размер журнала. Для улучшения удобочитаемости скопируйте журнал (например, в решении Visual Studio) в редактор XML, поддерживающий форматирование XML и выделение синтаксиса.

Устранение неполадок выполнения пакетов с помощью отчетов об операциях

Стандартные отчеты об операциях доступны в среде SQL Server Management Studio и помогают при наблюдении за пакетами служб Службы Integration Services , развернутых в каталоге служб Службы Integration Services . Они позволяют просмотреть состояние пакета и журнал и, если необходимо, определить причину сбоев.

Дополнительные сведения см. в разделе Устранение неполадок пакетов с помощью отчетов.

Устранение неполадок выполнения пакетов с помощью представлений SSISDB

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

Устранение неполадок выполнения пакетов с помощью журналов

С помощью ведения журналов можно отследить многие события в выполняющихся пакетах. Регистраторы захватывают сведения о конкретных событиях с целью последующего анализа и сохраняют их в таблицу базы данных, неструктурированный файл, XML-файл или в любом другом поддерживаемом формате вывода данных.

  • Включите ведение журналов. Выходные данные журналов можно детализировать, выбрав только события и только объекты, сведения о которых требуется захватить. Дополнительные сведения см. в статье Ведение журналов в службах Integration Services (SSIS).

  • Для устранения неполадок, связанных с поставщиком, выберите событие пакета, называемое «Диагностика». Существуют сообщения журнала, которые могут помочь при устранении неполадок взаимодействия пакета с внешним источником данных. Дополнительные сведения см. в статье Troubleshooting Tools Package Connectivity.

  • Дополните выходные данные журналов. При обычном ведении журналов строки присоединяются к назначению при каждом выполнении пакета. Хотя каждая строка выходных данных журнала определяет пакет по имени и уникальному идентификатору, а также определяет выполнение пакета по уникальному идентификатору ExecutionID, большой объем выходных данных анализировать трудно.

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

    1. Создайте родительскую таблицу, в которой регистрируется каждое выполнение пакета. В этой родительской таблице предусматривается одна строка для каждого выполнения пакета, а идентификатор ExecutionID используется для связи с дочерними записями в таблице журналов службы Службы Integration Services . Для создания новой строки и регистрации времени начала можно использовать задачу «Выполнение SQL». Затем при завершении пакета можно обновить строку временем окончания, продолжительностью и состоянием;

    2. Добавьте к потоку данных данные аудита. Преобразование «Аудит» можно использовать для добавления к строкам в потоке данных сведений о выполнении пакета, который создал или изменил каждую строку. Преобразование «Аудит» предоставляет девять разделов сведений, в том числе PackageName и ExecutionInstanceGUID. Дополнительные сведения см. в разделе Audit Transformation. Если в каждую строку в целях аудита требуется включить пользовательские данные, их можно добавить в поток данных с помощью преобразования "Производный столбец". Дополнительные сведения см. в разделе Derived Column Transformation.

    3. Рассмотрите возможность захвата данных счетчика строк. Создайте отдельную таблицу для данных счетчика строк, в которой каждый экземпляр выполнения пакета определяется идентификатором ExecutionID. Используйте преобразование «Счетчик строк» для сохранения числа строк в последовательность переменных в критических точках потока данных. После окончания потока данных используйте задачу «Выполнение SQL» для вставки этой последовательности значений в строку таблицы для последующего анализа и отчета.

    Дополнительные сведения об этом подходе см. в статье "ETL Auditing and Logging" (ETL: аудит и ведение журналов), входящей в технический документ MicrosoftProject REAL: Business Intelligence ETL Design Practices (Project REAL. Рекомендации по разработке ETL-решения для бизнес-аналитики).

Устранение неполадок выполнения пакетов с помощью отладочных файлов дампа

Службы Службы Integration Servicesпозволяют создавать отладочные файлы дампа с информацией о выполнении пакета. Дополнительные сведения см. в статье Generating Dump Files for Package Execution.

Устранение неполадок проверки во время выполнения

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

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

    Свойство DelayValidation устанавливается в задаче потока данных, но не в отдельных компонентах потока данных. Тех же результатов можно добиться, присвоив свойству ValidateExternalMetadata отдельного компонента потока данных значение false. Однако если значение этого свойства равно false, компонент не узнает об изменениях метаданных внешних источников данных. Если свойству trueприсвоено значение ValidateExternalMetadata , это может помочь избежать критических препятствий, возникающих из-за блокировки базы данных, особенно при использовании пакетом транзакций.

Устранение проблем с разрешениями во время выполнения

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

Чтобы подключиться к источникам данных Excel или Access, агенту SQL Server требуется учетная запись с разрешениями на чтение, запись, создание и удаление временных файлов в папке, заданной переменными среды TEMP и TMP.

Устранение неполадок для 64-разрядных платформ

  • Некоторые поставщики данных недоступны на 64-разрядных платформах. Особенно часто в 64-разрядной версии недоступен поставщик OLE DB Microsoft Jet, который требуется для подключения к источникам данных Excel и Access.

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

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

Отладка потока данных