Где хранятся job MS SQL: расположение и структура данных

Где хранятся job MS SQL

В MS SQL Server job'ы хранятся в специальной системной таблице с именем msdb.dbo.sysjobs.

Вы можете использовать следующий SQL-запрос, чтобы получить список всех job'ов:


SELECT * FROM msdb.dbo.sysjobs;

Также вы можете получить информацию о расписании и действиях, связанных с job'ами, используя таблицы msdb.dbo.sysjobschedules и msdb.dbo.sysjobsteps соответственно.

Например, чтобы получить информацию о расписании для определенного job'а, вы можете выполнить следующий SQL-запрос:


SELECT * FROM msdb.dbo.sysjobschedules WHERE job_id = 'job_id_here';

Надеюсь, это помогает вам!

Детальный ответ

Где хранятся job MS SQL

Job (задание) в Microsoft SQL Server представляет собой запланированную задачу или операцию, которая выполняется автоматически или периодически на сервере баз данных. Обычно job включает в себя выполнение определенного T-SQL кода или вызова определенной SQL Server Integration Services (SSIS) пакета.

Job-ы хранятся в системной базе данных MSDB. MSDB база данных содержит специальные таблицы и хранимые процедуры, которые поддерживают различные функции и компоненты SQL Server, включая job-ы.

Все информация о job-ах, такая как расписание, история выполнения, целостность и состояние, хранится в таблицах MSDB базы данных. Некоторые из наиболее важных таблиц, связанных с job-ами:

  • sysjobs: Эта таблица содержит основную информацию о каждом job-е, такую как идентификатор, имя, дата создания и т.д.
  • sysjobschedules: В этой таблице хранится информация о расписании выполнения job-ов. Это включает в себя детали о времени начала, интервале повторения, днях недели и т.д.
  • sysjobhistory: Здесь хранится информация об истории выполнения job-ов. Это включает в себя информацию о успешных и неудачных выполнениях, коды ошибок, даты и время выполнения и т.д.

При создании job-а в SQL Server Management Studio (SSMS) или с помощью T-SQL кода, эта информация сохраняется в таблицах MSDB базы данных. Когда job запускается планировщиком задач, он обращается к этим таблицам для получения всей необходимой информации, чтобы выполнить задание.

Примеры кода job MS SQL

Вот пример создания простого job-а с помощью T-SQL кода:


USE MSDB;
GO

EXEC sp_add_job
    @job_name = 'MyTestJob',
    @enabled = 1;
GO

EXEC sp_add_jobstep
    @job_name = 'MyTestJob',
    @step_name = 'Step 1',
    @subsystem = 'TSQL',
    @command = 'SELECT GETDATE();';
GO

EXEC sp_add_schedule
    @schedule_name = 'DailySchedule',
    @freq_type = 4,
    @active_start_time = 100000;
GO

EXEC sp_attach_schedule
    @job_name = 'MyTestJob',
    @schedule_name = 'DailySchedule';
GO

EXEC sp_add_jobserver
    @job_name = 'MyTestJob',
    @server_name = 'SQLServerInstanceName';
GO
    

В этом примере мы создаем job с именем 'MyTestJob' и включаем его с помощью параметра @enabled = 1. Затем мы добавляем jobstep (шаг job-а), который выполняет простой SQL запрос для выборки текущей даты и времени с помощью команды SELECT GETDATE().

Мы также добавляем расписание выполнения job-а с именем 'DailySchedule', которое запускается каждый день в 10:00 утра (с помощью параметра @active_start_time = 100000). Наконец, мы присоединяем расписание к job-у и указываем, на каком сервере баз данных SQL Server должен выполняться job (с помощью параметра @server_name = 'SQLServerInstanceName').

После того, как job был создан и настроен, он будет храниться в таблицах MSDB базы данных и готов к запуску по расписанию или вручную.

Вывод

Job-ы в Microsoft SQL Server хранятся в системной базе данных MSDB. Вся информация о job-ах, такая как расписание, история выполнения и состояние, хранится в специальных таблицах MSDB. При создании job-а с помощью SQL Server Management Studio (SSMS) или T-SQL кода, эта информация сохраняется в таблицах MSDB базы данных. Шаги job-ов могут включать выполнение T-SQL кода или вызов SSIS пакетов. Пример кода представлен выше для создания простого job-а.

Видео по теме

Урок 5. Хранимые процедуры в MS SQL Server

Урок 6 Экспорт и импорт базы данных в MS SQL Server

7.3 Создание плана резервного копирования баз данных в MS SQL Server

Похожие статьи:

Где хранятся job MS SQL: расположение и структура данных