Como o SQL Server armazena as informações nas Propriedades da programação de tarefas?

12

Eu sei que existe SELECT * FROM msdb..sysjobschedules, mas isso só mostra na próxima vez que um trabalho está programado para ser executado.

Quero saber como tudo isso é determinado e armazenado. Então, onde ele armazena o valor para a caixa de seleção Recurs toda segunda-feira?

Joe
fonte
confira select * from msdb.dbo.sys agendar o procedimento armazenado do sistema sp_add_scheduleatualiza ou insere nesta tabela.
Eu acho que a informação está armazenada msdb.dbo.sysschedules. Confira a página msdn .

Respostas:

8

A cada 20 minutos (isso NÃO parece configurável), as informações da 'próxima execução' sysjobschedulessão atualizadas , observando as informações que você pode ver sysschedules.

Você sabe como, quando define um trabalho, precisa passar por um processo um pouco complicado, em vez de apenas dizer "executar este trabalho toda segunda-feira", em vez de definir um cronograma que diz isso e associar o trabalho ao cronograma? É por isso - eles têm existências independentes.

AakashM
fonte
6

E se você deseja vincular as informações às informações do sysschedulesseu trabalho:

use msdb;

select SYSJ.name, SYSS.* from sysjobs as SYSJ
inner join sysjobschedules as SYSJS on SYSJ.job_id = SYSJS.job_id
inner join sysschedules SYSS on SYSS.schedule_id = SYSJS.schedule_id;

fonte
0

Para elaborar a resposta de Josien, um bom post amarrando todas as entidades do sistema relacionadas ao trabalho e fornecendo um bom conjunto de consultas para consultar as informações: https://www.mssqltips.com/sqlservertip/2561/querying-sql -server-agent-job-information /

Achei isso particularmente útil quando tive uma pergunta semelhante e precisava criar um relatório de todos os trabalhos de agentes em nosso ambiente, para que os Dev's e outros DBAs pudessem analisá-los e fornecer contexto. Felicidades!

NateJ
fonte