You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

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

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.06.18 13:07:25