Quando você cria uma etapa de trabalho TSQL, há uma configuração avançada chamada: "Incluir saída da etapa no histórico", mas não entendo o que essa configuração controla:
Um exemplo de script de trabalho:
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
Independentemente de estar marcado ou não, não consigo fazer com que a saída da etapa apareça no histórico de tarefas:
Observe que tenho um comando CMD que gera uma saída para o histórico.
Então, parece que essa configuração não controla nada para as etapas do trabalho TSQL ou isso gera saída em outro lugar?
Observe que não tenho nenhum problema com as configurações "Registrar na tabela" / "Acrescentar saída", elas controlam sysjobstepslogs
a saída.
Nota nº 2: todas as saídas de etapas estão sendo adicionadas sysjobhistory
, independentemente de esse sinalizador estar definido ou não, então não parece ser isso também.