catalog.add_data_tap_by_guid

对于执行实例,在包数据流中将数据分流点添加到指定的数据流路径。

语法

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

参数

  • [ @execution\_id = ] execution_id
    包含包的执行 ID。 execution_id 的数据类型为 bigint。

  • [ @dataflow\_task\_guid = ] dataflow_task_guid
    包含要分流的数据流路径的包中的数据任务流 ID。 dataflow_task_guid 的数据类型为 uniqueidentifier。

  • [ @dataflow\_path\_id\_string = ] dataflow_path_id_string
    数据流路径的标识字符串。 一个路径连接两个数据流组件。 路径的 IdentificationString 属性指定该字符串。

    若要找到此标识字符串,请在 SQL Server Data Tools 中右键单击两个数据流组件之间的路径,然后单击**“属性”。 将在“属性”**窗口中显示 IdentificationString 属性。

    dataflow_path_id_string 的数据类型为 nvarchar(4000)。

  • [ @data\_filename = ] data_filename
    存储分流的数据的文件名称。 如果数据流任务在 Foreach 循环或 For 循环容器内执行,则用单独的文件存储该循环每次迭代的分流数据。 用与每次迭代对应的编号为每个文件加前缀。 数据分流点文件将写入文件夹“<SQL Server installation folder>\110\DTS\”。 data_filename 的数据类型为 nvarchar(4000)。

  • [ @max\_rows = ] max_rows
    在数据分流期间捕获的行数。 如果未指定此值,则捕获所有行。 max_rows 的数据类型为 int。

  • [ @data\_tap\_id = ] data_tap_id
    数据分流点的 ID。 data_tap_id 的数据类型为 bigint。

示例

在以下示例中,对数据流任务 {D978A2E4-E05D-4374-9B05-50178A8817E8} 中的数据流路径 Paths[SRC DimDCVentor.OLE DB Source Output] 创建一个数据分流点。 分流的数据存储在 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' 

备注

若要添加数据分流点,执行实例必须处于已创建状态(在 catalog.operations(SSISDB 数据库) 视图的 status 列中值为 1)。 只要运行执行,状态值就会发生更改。 可以通过调用 catalog.create_execution(SSISDB 数据库) 创建执行。

以下是 add_data_tap_by_guid 存储过程的注意事项。

  • 添加数据分流点时,在运行包之前不进行验证。

  • 建议限制在数据分流期间捕获的行数,以避免生成大型数据文件。 如果执行存储过程的计算机无法为数据文件提供足够的存储空间,存储过程将停止运行。

  • 运行 add_data_tap_by_guid 存储过程会影响包的性能。 建议您仅运行该存储过程来解决数据问题。

  • 要访问存储分流数据的文件,您必须对运行该存储过程的计算机具有管理员权限,或者必须是开始执行包含带数据分流点的包的用户。

返回代码

0(成功)

存储过程失败时引发错误。

结果集

权限

此存储过程需要下列权限之一:

  • 针对执行实例的 MODIFY 权限

  • ssis_admin 数据库角色的成员身份

  • sysadmin 服务器角色的成员身份

错误和警告

下表说明了导致存储过程失败的情况。

  • 用户没有 MODIFY 权限。

  • 已添加指定的包中指定组件的数据分流点。

  • 为要捕获的行数指定的值无效。

请参阅

参考

catalog.add_data_tap