catalog.add_data_tap
van toepassing op:SQL Server
SSIS Integration Runtime in Azure Data Factory
van toepassing op:SQL Server-
Hiermee voegt u een gegevenstik toe op de uitvoer van een onderdeel in een pakketgegevensstroom, voor een exemplaar van de uitvoering.
Syntaxis
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
Argumenten
[ @execution_id = ] execution_id
De uitvoerings-id voor de uitvoering die het pakket bevat. De execution_id is een grote.
[ @task_package_path = ] task_package_path
Het pakketpad voor de gegevensstroomtaak. De eigenschap PackagePath voor de gegevensstroomtaak geeft het pad op. Het pad is hoofdlettergevoelig. Als u het pakketpad wilt vinden, klikt u in SQL Server Data Tools met de rechtermuisknop op de gegevensstroomtaak en klikt u vervolgens op Eigenschappen. De eigenschap PackagePath wordt weergegeven in het venster Eigenschappen.
De task_package_path is een nvarchar(max).
[ @dataflow_path_id_string = ] dataflow_path_id_string
De identificatietekenreeks voor het gegevensstroompad. Een pad verbindt twee gegevensstroomonderdelen. De eigenschap IdentificationString voor het pad geeft de tekenreeks op.
Als u de identificatietekenreeks wilt vinden, klikt u in SQL Server Data Tools met de rechtermuisknop op het pad tussen twee gegevensstroomonderdelen en klikt u vervolgens op Eigenschappen. De eigenschap IdentificationString wordt weergegeven in het venster Eigenschappen.
De dataflow_path_id_string is een nvarchar(4000).
[ @data_filename = ] data_filename
De naam van het bestand waarin de getikte gegevens worden opgeslagen. Als de gegevensstroomtaak wordt uitgevoerd in een Foreach-lus of een For Loop-container, worden getikte gegevens opgeslagen voor elke herhaling van de lus. Elk bestand wordt voorafgegaan door een getal dat overeenkomt met een iteratie.
Het bestand wordt standaard opgeslagen in de map <station>:\Program Files\Microsoft SQL Server\130\DTS\DataDumps.
De data_filename is een nvarchar(4000).
[ @max_rows = ] max_rows
Het aantal rijen dat wordt vastgelegd tijdens de gegevenstik. Als deze waarde niet is opgegeven, worden alle rijen vastgelegd. De max_rows is een int.
[ @data_tap_id = ] data_tap_id
Retourneert de id van de gegevenstik. De data_tap_id is een .
Voorbeeld
In het volgende voorbeeld wordt een gegevenstik gemaakt op het gegevensstroompad, 'Paths[OLE DB Source.OLE DB Source Output]
, in de gegevensstroomtaak \Package\Data Flow Task
. De getikte gegevens worden opgeslagen in het output0.txt
-bestand in de map DataDumps (<station>:\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
Opmerkingen
Als u gegevenstikken wilt toevoegen, moet het exemplaar van de uitvoering de status gemaakt hebben (een waarde van 1 in de kolom status kolom van de catalog.operations (SSISDB-database) weergave). De statuswaarde wordt gewijzigd zodra u de uitvoering uitvoert. U kunt een uitvoering maken door catalog.create_execution (SSISDB Database) aan te roepen.
Hier volgen overwegingen voor de add_data_tap opgeslagen procedure.
Als een uitvoering een bovenliggend pakket en een of meer onderliggende pakketten bevat, moet u een gegevenstik toevoegen voor elk pakket waarvoor u op gegevens wilt tikken.
Als een pakket meer dan één gegevensstroomtaak met dezelfde naam bevat, identificeert de task_package_path de gegevensstroomtaak die de onderdeeluitvoer bevat waarop is getikt.
Wanneer u gegevenstikt, wordt deze niet gevalideerd voordat het pakket wordt uitgevoerd.
Het wordt aanbevolen om het aantal rijen dat tijdens de gegevenstik wordt vastgelegd, te beperken om te voorkomen dat grote gegevensbestanden worden gegenereerd. Als de computer waarop de opgeslagen procedure wordt uitgevoerd, onvoldoende opslagruimte voor de gegevensbestanden heeft, wordt het pakket niet meer uitgevoerd en wordt er een foutbericht naar een logboek geschreven.
Het uitvoeren van de add_data_tap opgeslagen procedure is van invloed op de prestaties van het pakket. Het is raadzaam om de opgeslagen procedure alleen uit te voeren om gegevensproblemen op te lossen.
Als u toegang wilt krijgen tot het bestand waarin de getikte gegevens zijn opgeslagen, moet u een beheerder zijn op de computer waarop de opgeslagen procedure wordt uitgevoerd. U moet ook de gebruiker zijn die de uitvoering heeft gestart die het pakket bevat met de gegevenstik.
Retourcodes
0 (geslaagd)
Wanneer de opgeslagen procedure mislukt, treedt er een fout op.
Resultatenset
Geen
Machtigingen
Voor deze opgeslagen procedure zijn een van de volgende machtigingen vereist:
MACHTIGINGEN WIJZIGEN voor het exemplaar van uitvoering
Lidmaatschap van de ssis_admin-databaserol
Lidmaatschap van de sysadmin serverfunctie
Fouten en waarschuwingen
In de volgende lijst worden voorwaarden beschreven waardoor de opgeslagen procedure mislukt.
De gebruiker heeft geen MACHTIGINGEN VOOR WIJZIGEN.
De gegevenstik voor het opgegeven onderdeel, in het opgegeven pakket, is al toegevoegd.
De waarde die is opgegeven voor het aantal rijen dat moet worden vastgelegd, is ongeldig.
Eisen
Externe resources
Blogbericht, SSIS 2012: Een korte weergave van gegevenstikt, op rafael-salas.com.