catalog.add_data_tap
gäller för:SQL Server
SSIS Integration Runtime i Azure Data Factory
gäller för:SQL Server
Lägger till ett datatryck på utdata från en komponent i ett paketdataflöde för en instans av körningen.
Syntax
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
Argument
[ @execution_id = ] execution_id
Körnings-ID:t för körningen som innehåller paketet. Den execution_id är en bigint.
[ @task_package_path = ] task_package_path
Paketsökvägen för dataflödesaktiviteten. Egenskapen PackagePath för dataflödesaktiviteten anger sökvägen. Sökvägen är skiftlägeskänslig. Om du vill hitta paketsökvägen högerklickar du på dataflödesaktiviteten i SQL Server Data Tools och klickar sedan på Egenskaper. Egenskapen PackagePath visas i fönstret Egenskaper.
task_package_path är en nvarchar(max).
[ @dataflow_path_id_string = ] dataflow_path_id_string
Identifieringssträngen för dataflödessökvägen. En sökväg ansluter två dataflödeskomponenter. Egenskapen IdentificationString för sökvägen anger strängen.
Om du vill hitta identifieringssträngen högerklickar du på sökvägen mellan två dataflödeskomponenter i SQL Server Data Tools och klickar sedan på Egenskaper. Egenskapen IdentificationString visas i fönstret Egenskaper.
dataflow_path_id_string är en nvarchar(4000).
[ @data_filename = ] data_filename
Namnet på den fil som lagrar de avlyssnade data. Om dataflödesaktiviteten körs i en Foreach-loop eller en For Loop-container lagrar separata filer knackade data för varje iteration av loopen. Varje fil är prefix med ett tal som motsvarar en iteration.
Som standard lagras filen i mappen <enhet>:\Program Files\Microsoft SQL Server\130\DTS\DataDumps.
data_filename är en nvarchar(4000).
[ @max_rows = ] max_rows
Antalet rader som samlas in under datatryckningen. Om det här värdet inte anges registreras alla rader.
max_rows är en int.
[ @data_tap_id = ] data_tap_id
Returnerar ID:t för datatryckningen. Den data_tap_id är en bigint.
Exempel
I följande exempel skapas ett datatryck på dataflödessökvägen, 'Paths[OLE DB Source.OLE DB Source Output]
, i dataflödesaktiviteten \Package\Data Flow Task
. De avlyssnade data lagras i output0.txt
-filen i mappen DataDumps (<enhet>:\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
Anmärkningar
Om du vill lägga till datatryck måste körningsinstansen vara i det skapade tillståndet (värdet 1 i kolumnen status i kolumnen catalog.operations (SSISDB Database)) . Tillståndsvärdet ändras när du kör körningen. Du kan skapa en körning genom att anropa catalog.create_execution (SSISDB Database).
Följande är överväganden för den add_data_tap lagrade proceduren.
Om en körning innehåller ett överordnat paket och ett eller flera underordnade paket måste du lägga till ett datatryck för varje paket som du vill trycka på data för.
Om ett paket innehåller mer än en dataflödesaktivitet med samma namn identifierar task_package_path unikt den dataflödesaktivitet som innehåller de komponentutdata som trycks på.
När du lägger till ett datatryck verifieras det inte innan paketet körs.
Vi rekommenderar att du begränsar antalet rader som samlas in under datakranen för att undvika att generera stora datafiler. Om den dator där den lagrade proceduren körs tar det slut på lagringsutrymme för datafilerna, paketet slutar köras och ett felmeddelande skrivs till en logg.
Körningen av den add_data_tap lagrade proceduren påverkar paketets prestanda. Vi rekommenderar att du bara kör den lagrade proceduren för att felsöka dataproblem.
Om du vill få åtkomst till filen som lagrar de avlyssnade data måste du vara administratör på den dator där den lagrade proceduren körs. Du måste också vara den användare som startade körningen som innehåller paketet med datatryckningen.
Returkoder
0 (lyckades)
När den lagrade proceduren misslyckas utlöser den ett fel.
Resultatuppsättning
Ingen
Behörigheter
Den här lagrade proceduren kräver någon av följande behörigheter:
ÄNDRA behörigheter för körningsinstansen
Medlemskap i ssis_admin databasrollen
Medlemskap i serverrollen sysadmin
Fel och varningar
I följande lista beskrivs villkor som gör att den lagrade proceduren misslyckas.
Användaren har inte BEHÖRIGHET ATT ÄNDRA.
Datatappen för den angivna komponenten i det angivna paketet har redan lagts till.
Det angivna värdet för antalet rader som ska avbildas är ogiltigt.
Krav
Externa resurser
Blogginlägg, SSIS 2012: En titt på datatryckningarpå rafael-salas.com.