ADMIN_TASK_REMOVE 过程 - 除去已调度任务或任务状态记录
ADMIN_TASK_REMOVE 过程除去调度的管理任务,这些任务是可以封装在过程中的工作部分。 它还会除去任务状态记录。
语法
模式为 SYSPROC。
过程参数
- name
- 类型为 VARCHAR (128) 的输入参数,用于指定任务的名称。
- end_timestamp
- 类型为 TIMESTAMP 的输出参数,用于指定状态记录 end_timestamp 时间戳记。
权限
需要下列其中一个权限:
- 对 ADMIN_TASK_REMOVE 过程的 EXECUTE 特权
- DATAACCESS 权限
- DBADM 权限
- SQLADM 权限
虽然语句授权标识可能允许执行过程,但成功除去任务和状态记录取决于当前会话授权标识的值。 当前会话授权标识必须与创建任务时所记录的会话授权标识匹配。 具有 SYSADM、SYSCTRL、SYSMAINT 或 DBADM 权限的用户可以除去任何任务或状态记录。 如果未经授权的用户尝试除去任务或状态记录,那么将返回 SQL0551N 。
缺省 PUBLIC 特权
在非限制数据库中,自动创建过程时会将 EXECUTE 特权授予 PUBLIC。
使用说明
在落实工作单元之前,不会除去该任务。
除去任务的行为取决于如何定义 name 和 end_timestamp 参数:
- 如果 end_timestamp 自变量为 NULL:
- 如果 name 参数为 NULL,那么将除去所有任务和状态记录。 如果一个或多个任务当前正在运行,那么不会除去该任务和关联的状态记录。 在此情况下,将返回 SQL1464W 。
- 如果 name 自变量不是 NULL,那么将除去与 name 匹配的任务记录。 如果指定的任务当前正在运行,那么不会除去该任务并返回 SQL20453N 。 如果除去了指定的任务,那么将除去所有关联的状态记录。
- 如果 end_timestamp 自变量不是 NULL:
- 如果 name 自变量为 NULL,那么将除去 end_timestamp 时间戳记小于或等于 end_timestamp 的所有状态记录。 未除去任何任务记录。 此过程将不会除去任何状态值为以下值的状态记录:RUNNING.
- 如果 name 自变量不是 NULL,那么当任务的 end_timestamp 时间戳记小于或等于 end_timestamp时,将除去与 name 匹配的任务的状态记录。 未除去任何任务记录。 此过程将不会除去任何状态值为以下值的状态记录:RUNNING.
如果用户尝试除去不存在的任务,那么将返回 SQL0204N 。
示例
除去名为 "DAILY TSM BACKUP" 的备份任务:
CALL SYSPROC.ADMIN_TASK_REMOVE('DAILY TSM BACKUP', NULL)