SSIS: DataTap w SQL 2012

28-lis-2012

We wpisie Jak uruchomić pakiet SSIS z TSQL w Management Studio? pokazałem jak uruchomić pakiet SSIS w management studio. W wersji SQL 2012 istnieje możliwość zdefiniowania tzw. Data Tap. Polega to na tym, że w Data Flow Task zostanie dodany „jakby Data Viewer”, ale jego celem nie będzie pokazanie rekordów przepływających z jednego tasku do drugiego w przeglądarce, ale raczej zapisanie tych rekordów w pliku. Kolejne instrukcje widać poniżej:

1. Przygotowanie pakietu do uruchomienia:

Declare @execution_id bigint
EXEC [SSISDB].[catalog].[create_execution]
     @package_name=N’Package.dtsx’,
     @execution_id=@execution_id OUTPUT,
     @folder_name=N’SSIS LookUp’,
     @project_name=N’SSIS LookUp’,
     @use32bitruntime=False,
     @reference_id=Null
Select @execution_id
 

2. Podpięcie DataTap podajesz package path (w SQL Data Tools właściwości Data Flow Task – odczytaj i przekopiuj) oraz identyfikator ścieżki danych (strzałki łączącej dwa taski, z którego rekordy chcesz zalogować – włsćiwość strzałki w SQL Data Tools):

EXEC [SSISDB].[catalog].add_data_tap
     @execution_id = @execution_id,
     @task_package_path = '\Package\Sequence Container\Data Flow Task’,
     @dataflow_path_id_string = 'Paths[Lookup.Lookup No Match Output]’,
     @data_filename = 'output.txt’

3. Uruchomienie pakietu. Plik output.txt powstanie w C:\Program Files\Microsoft SQL Server\110\DTS\DataDumps

DECLARE @var0 smallint = 1
EXEC [SSISDB].[catalog].[set_execution_parameter_value] @execution_id, @object_type=50,
@parameter_name=N’LOGGING_LEVEL’, @parameter_value=@var0
EXEC [SSISDB].[catalog].[start_execution] @execution_id

 Dokładniejszy opis na blogu: http://www.bidn.com/blogs/KathiKellenberger/sql-server/2904/ssis-2012-data-tap

 

Komentarze są wyłączone

Autor: Rafał Kraik