Как SQL Server хранит информацию в свойствах расписания работы?


12

Я знаю, что есть SELECT * FROM msdb..sysjobschedules, но это просто показывает, когда в следующий раз запланировано выполнение задания.

Я хочу знать, как все это определяется и сохраняется. Так где же хранится значение для Recurs каждый понедельник?


Проверьте select * from msdb.dbo.syss. Запланирует sp_add_scheduleобновления или вставки системной хранимой процедуры в эту таблицу.

Я думаю, что информация хранится в msdb.dbo.sysschedules. Проверьте страницу MSDN .

Ответы:


8

Каждые 20 минут (это, кажется, НЕ настраивается), информация о «следующем запуске» sysjobschedulesобновляется путем просмотра информации, которую вы можете видеть sysschedules.

Вы знаете, что когда вы определяете работу, вы должны пройти немного запутанный процесс, вместо того, чтобы просто сказать «запускать эту работу каждый понедельник», вместо того, чтобы определить расписание, в котором это указано, и связать работу с расписанием? Вот почему - они имеют независимое существование.


6

И если вы хотите связать информацию sysschedulesс вашей информацией о работе:

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;

0

Чтобы уточнить ответ Джосиена, есть хорошая статья, связывающая все связанные с Job сущности sys-сущности вместе и дающая вам хороший набор запросов для просмотра информации в ней: https://www.mssqltips.com/sqlservertip/2561/querying-sql -server-агент рабочих мест , информация /

Я нашел это особенно полезным, когда у меня был похожий вопрос, и мне нужно было составить отчет обо всех работах агентов в нашей среде, чтобы Dev и другие администраторы баз данных могли посмотреть на них и предоставить контекст. Ура!

Используя наш сайт, вы подтверждаете, что прочитали и поняли нашу Политику в отношении файлов cookie и Политику конфиденциальности.
Licensed under cc by-sa 3.0 with attribution required.