catalog.add_data_tap_by_guid
Adiciona um toque de dados a um caminho de fluxo de dados específico em um fluxo de dados de pacote, para uma instância da execução.
Sintaxe
add_data_tap_by_guid [ @execution_id = ] execution_id
[ @dataflow_task_guid = ] dataflow_task_guid
[ @dataflow_path_id_string = ] dataflow_path_id_string
[ @data_filename = ] data_filename
[ @max_rows = ] max_rows
[ @data_tap_id = ] data_tap_id
Argumentos
[ @execution\_id = ] execution_id
A ID da execução que contém o pacote. O execution_id é um bigint.[ @dataflow\_task\_guid = ] dataflow_task_guid
O ID do fluxo de dados da tarefa no pacote que contém o caminho de fluxo de dados a ser tocado. O dataflow_task_guid é um uniqueidentifier.[ @dataflow\_path\_id\_string = ] dataflow_path_id_string
A cadeia de caracteres de identificação do caminho de fluxo de dados. Um caminho conecta dois componentes de fluxos de dados. A propriedade IdentificationString do caminho especifica a cadeia de caracteres.Para localizar a cadeia de caracteres de identificação, no SQL Server Data Tools, clique com o botão direito do mouse no caminho entre dois componentes de fluxo de dados e, depois, clique em Propriedades. A propriedade IdentificationString aparece na janela Propriedades.
O dataflow_path_id_string é um nvarchar(4000).
[ @data\_filename = ] data_filename
O nome do arquivo de dados que armazena os dados tocados. Se a tarefa de fluxo de dados for executada dentro de um contêiner de Loop Foreach ou Loop For, arquivos separados armazenarão os dados tocados para cada iteração do loop. Cada arquivo é prefixado com um número que corresponde a uma iteração. Arquivos de toque de dados são gravados na pasta "<SQL Server installation folder>\110\DTS\". O data_filename é um nvarchar(4000).[ @max\_rows = ] max_rows
O número de linhas capturadas durante o toque de dados. Se esse valor não for especificado, todas as linhas serão capturadas. O max_rows é um int.[ @data\_tap\_id = ] data_tap_id
A ID do toque de dados. O data_tap_id é um bigint.
Exemplo
No exemplo a seguir, um toque de dados é criado no caminho do fluxo de dados, Paths[SRC DimDCVentor.OLE DB Source Output], na tarefa de fluxo de dados {D978A2E4-E05D-4374-9B05-50178A8817E8}. Os dados tocados são armazenados no arquivo DCVendorOutput.csv.
exec catalog.add_data_tap_by_guid @execution_id,
'{D978A2E4-E05D-4374-9B05-50178A8817E8}',
'Paths[SRC DimDCVentor.OLE DB Source Output]',
'D:\demos\datafiles\DCVendorOutput.csv'
Comentários
Para adicionar toques de dados, a instância da execução deve estar no estado criado (um valor de 1 na coluna status da exibição catalog.operations (Banco de Dados SSISDB)). O valor de estado muda quando você realiza a execução. Você pode criar uma execução chamando catalog.create_execution (Banco de dados SSISDB).
As seguintes são considerações a respeito do procedimento armazenado add_data_tap_by_guid.
Quando você adiciona um toque de dados, ele não é validado antes de o pacote ser executado.
É recomendável limitar o número de linhas capturadas durante o toque de dados, para evitar gerar arquivos de dados grandes. Se a máquina na qual o procedimento armazenado é executado ficar sem espaço de armazenamento para os arquivos de dados, a execução do procedimento armazenado será interrompida.
A execução do procedimento armazenado add_data_tap_by_guid afeta o desempenho do pacote. É recomendável executar o procedimento armazenado apenas para solucionar problemas de dados.
Para acessar o arquivo que armazena os dados tocados, você deve ter permissões de administrador na máquina na qual o procedimento armazenado é executado ou deve ser o usuário que iniciou a execução que contém o pacote com toque de dados.
Códigos de retorno
0 (êxito)
Quando há falha no procedimento armazenado, ele gera um erro.
Conjunto de resultados
Nenhum
Permissões
Este procedimento armazenado exige uma das seguintes permissões:
Permissões MODIFY na instância de execução
Associação à função de banco de dados ssis_admin
Associação à função de servidor sysadmin
Erros e avisos
A lista a seguir descreve as condições que podem provocar falha no procedimento armazenado.
O usuário não tem permissões MODIFY.
O toque de dados para o componente especificado, no pacote especificado, já foi adicionado.
O valor especificado para o número de linhas a serem capturadas não é válido.