SQL Server Agent中TSQL步骤的“将步骤输出包含在历史记录中”设置控制什么?
SQL Server代理作业TSQL步骤中“将步骤输出包含在历史记录中”设置的作用疑问
在创建TSQL类型的SQL Server代理作业步骤时,高级设置里有一项“将步骤输出包含在历史记录中”,我不清楚这个设置的具体作用:

示例作业脚本
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类型的作业步骤时,能够在历史记录中正常输出内容
- “记录到表”/“追加输出”相关设置功能正常,它们负责控制
sysjobstepslogs表中的输出存储 - 无论是否开启“将步骤输出包含在历史记录中”这个标志,所有步骤的输出都会被添加到
sysjobhistory表中
由此产生疑问:这个设置对TSQL作业步骤是不是不起作用?还是步骤输出被存储到了其他位置?
内容的提问来源于stack exchange,提问作者siggemannen
相关产品推荐
相关产品推荐

