目录

Search

  1. 前言
  2. 工作流管理器
  3. 工作流和工作集
  4. 会话
  5. 会话配置对象
  6. 任务
  7. 目标
  8. 连接对象
  9. 验证
  10. 计划和运行工作流
  11. 发送电子邮件
  12. Workflow Monitor
  13. Workflow Monitor 详细信息
  14. 会话和工作流日志
  15. 会话属性参考
  16. 工作流属性参考

工作流基本指南

工作流基本指南

目标表的截断

目标表的截断

集成服务可以在运行会话前截断目标表。 您可以选择逐个目标截断表。 如果您有多个目标实例,请为一个目标实例选择截断目标表选项。
集成服务将根据目标数据库和会话目标中的主键-外键关系发出删除或截断命令。 要优化性能,使用 truncate table 命令。 delete from 命令可能会影响性能。
下表介绍了集成服务为每种数据库发出的命令:
目标数据库
包含被外键引用的主键的表
不包含被外键引用的主键的表
DB21
从 <table_name> 中删除
截断表 <table_name>,立即
Informix
从 <table_name> 中删除
从 <table_name> 中删除
ODBC
从 <table_name> 中删除
从 <table_name> 中删除
Oracle
从 <table_name> 中删除,不可恢复
截断表 <table_name>
Microsoft SQL Server
从 <table_name> 中删除
截断表 <table_name>2
Sybase 11.x
截断表 <table_name>
截断表 <table_name>
如果集成服务发出 truncate target table 命令,而目标表实例指定了表名称前缀,集成服务将通过发出 truncate 命令来验证数据库用户对目标表的特权。 如果数据库用户未被指定为目标所有者名称或没有截断目标表的数据库特权,集成服务将改为发出 delete 命令。
如果集成服务发出 delete 命令,并且数据库已启用日志记录,数据库会将所有删除的记录保存到日志中以用于回滚。 如果您不想保存删除的记录用于回滚,可以禁用日志记录功能来提高删除速度。
对于所有数据库,如果集成服务因用户缺少必要的特权而未能截断或删除任何选定的表,会话将失败。
如果您为以下会话启用截断目标表选项,集成服务不会截断目标表:
  • 增量汇总会话。
    当您在会话属性中同时启用截断目标表和增量汇总选项时,Workflow Manager 将发出警告,提示您无法在同一会话中启用截断目标表和增量汇总选项。
  • 测试加载会话。
    当您同时启用截断目标表和测试加载时,集成服务将禁用截断表功能、运行测试加载会话,并向会话日志写入消息,提示测试加载会话已关闭截断目标表选项。
  • 实时会话。
    当您重新启动具有恢复数据的 JMS 或 WebSphere MQ 实时会话时,集成服务不会截断目标表。