Sql Server sysjobsteps step_uid列可空性

时间:2015-07-23 19:40:42

标签: sql-server tsql

我正在开发一个项目,为失败的作业创建各种日志表。由于step_id可以根据步骤顺序而改变,因此我想使用step_uid作为步骤的唯一标识符。考虑到这一点,似乎msdb的sysjobsteps表中的step_uid是一个可以为空的列,并且我依赖于那个列尚未为null。

是否有人知道该列为什么或何时为空。我当前的服务器上没有示例。

1 个答案:

答案 0 :(得分:1)

通过查看sp_add_jobstep_internal存储过程的源代码,我们可以发现step_uid将始终通过此过程填充。

此外,sp_write_sysjobstep_log存储过程假定step_uid不能为空(它将其值复制到sysjobstepslogs表中,其中step_uid被定义为NOT NULL)。

我认为step_uid列仅被定义为可空,因为它在SQL Server 2000中不存在。但是,自SQL Server 2005以来,它似乎总是被填充。