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


catalog.add_data_tap

Область применения: среда выполнения интеграции SSIS SQL Server в Фабрика данных Azure

Область применения: SQL Server

Добавляет отвод данных на выходе компонента в потоке данных пакета для экземпляра выполнения.

Синтаксис

catalog.add_data_tap [ @execution_id = ] execution_id  
, [ @task_package_path = ] task_package_path  
, [ @dataflow_path_id_string = ] dataflow_path_id_string  
, [ @data_filename = ] data_filename  
, [ @max_rows = ] max_rows  
, [ @data_tap_id = ] data_tap_id OUTPUT  

Аргументы

[ @execution_id = ] execution_id
Идентификатор выполнения для выполнения, содержащего пакет. Параметр execution_id имеет тип bigint.

[ @task_package_path = ] task_package_path
Путь пакета для задачи потока данных. Свойство PackagePath задает путь для задачи потока данных. Путь учитывает регистр. Чтобы найти путь к пакету, в SQL Server Data Tools щелкните правой кнопкой мыши задачу Поток данных и выберите пункт "Свойства". Свойство PackagePath отображается в окне Свойства.

Параметр task_package_path имеет тип nvarchar(max).

[ @dataflow_path_id_string = ] dataflow_path_id_string
Строка идентификации для пути потока данных. Путь соединяет два компонента потока данных. Свойство IdentificationString для пути определяет строку.

Чтобы найти строку идентификации, в SQL Server Data Tools щелкните правой кнопкой мыши путь между двумя компонентами потока данных и выберите пункт "Свойства". Свойство IdentificationString отображается в окне Свойства.

Параметр dataflow_path_id_string имеет тип nvarchar(4000).

[ @data_filename = ] data_filename
Имя файла, в котором хранятся полученные данные. Если задача потока данных выполняется внутри контейнера «цикл по каждому элементу» или «цикл по элементам», то полученные данные для каждого прохода цикла хранятся в отдельных файлах. Каждому файлу добавляется префикс с номером, соответствующим итерации.

По умолчанию файл хранится в папке <диск>:\Program Files\Microsoft SQL Server\130\DTS\DataDumps.

Параметр data_filename имеет тип nvarchar(4000).

[ @max_rows = ] max_rows
Количество строк, полученных при отводе данных. Если это значение не задано, фиксируются все строки. Параметр max_rows имеет тип int.

[ @data_tap_id = ] data_tap_id
Возвращает идентификатор отвода данных. Параметр data_tap_id имеет тип bigint.

Пример

В следующем примере отвод данных создается в пути потока данных 'Paths[OLE DB Source.OLE DB Source Output], в задаче потока данных \Package\Data Flow Task. Полученные данные сохраняются в файл output0.txt в папке DataDumps (<диск>:\Program Files\Microsoft SQL Server\130\DTS\DataDumps).

Declare @execution_id bigint  
Exec SSISDB.Catalog.create_execution @folder_name='Packages',@project_name='SSISPackages', @package_name='Package.dtsx',@reference_id=Null, @use32bitruntime=False, @execution_id=@execution_id OUTPUT  
  
Exec SSISDB.Catalog.set_execution_parameter_value @execution_id,50, 'LOGGING_LEVEL', 0  
  
Exec SSISDB.Catalog.add_data_tap @execution_id, @task_package_path='\Package\Data Flow Task', @dataflow_path_id_string = 'Paths[OLE DB Source.OLE DB Source Output]', @data_filename = 'output0.txt'  
  
Exec SSISDB.Catalog.start_execution @execution_id  

Замечания

Чтобы добавить касания данных, экземпляр выполнения должен находиться в созданном состоянии (значение 1 в столбце состояния представления catalog.operations (база данных SSISDB). Значения состояния изменяются после запуска выполнения. Выполнение можно создать путем вызова catalog.create_execution (база данных SSISDB).

Ниже приведены замечания по использованию хранимой процедуры add_data_tap.

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

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

  • Добавленный отвод данных не проверяется перед запуском пакета.

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

  • Запуск хранимой процедуры add_data_tap влияет на производительность пакета. Поэтому рекомендуется запускать эту хранимую процедуру только для диагностики проблем с данными.

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

Коды возврата

0 (успешное завершение)

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

Результирующий набор

нет

Разрешения

Эта хранимая процедура требует применения одного из следующих разрешений:

  • Разрешения MODIFY на экземпляр выполнения

  • Членство в роли базы данных ssis_admin

  • Членство в роли сервера sysadmin

Ошибки и предупреждения

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

  • Пользователь не имеет разрешений MODIFY.

  • Отвод данных для указанного компонента, в указанном пакете, уже был добавлен.

  • Указано неправильное число получаемых строк.

Требования

Внешние ресурсы

Запись Службы SSIS 2012. Взгляд на отвод данных в блоге rafael-salas.com.

См. также

catalog.add_data_tap_by_guid