当您创建 TSQL 作业步骤时,有一个名为“在历史记录中包含步骤输出”的高级设置,但我不明白此设置控制什么:
示例作业脚本:
DECLARE @jobId BINARY(16)
EXEC msdb.dbo.sp_add_job @job_name=N'SampleJob',
@enabled=1,
@notify_level_eventlog=0,
@notify_level_email=2,
@notify_level_netsend=2,
@notify_level_page=2,
@delete_level=0,
@category_name=N'[Uncategorized (Local)]',
@owner_login_name=N'', @job_id = @jobId OUTPUT
EXEC msdb.dbo.sp_add_jobstep @job_name=N'SampleJob', @step_name=N'Include step in history',
@step_id=1,
@cmdexec_success_code=0,
@on_success_action=1,
@on_fail_action=2,
@retry_attempts=0,
@retry_interval=0,
@os_run_priority=0, @subsystem=N'TSQL',
@command=N'print ''Include step in history''',
@database_name=N'master',
@flags=4
EXEC msdb.dbo.sp_add_jobserver @job_name=N'SampleJob', @server_name = null
无论是否检查,我都无法让步骤输出显示在作业历史记录中:
请注意,我有一个 CMD 命令,它会输出到历史记录中。
因此,似乎这个设置不控制 TSQL 作业步骤的任何内容,还是这个输出在其他地方?
请注意,我对“记录到表”/“附加输出”设置没有任何问题,它们控制sysjobstepslogs
输出。
注意#2,所有步骤输出都被添加到sysjobhistory
,无论是否设置了此标志,所以这似乎也不是它。