job в sql что это

Задания SQL¶

SQL Editor¶

Редактор SQL поддерживает SQL 2003 и соответствует стандарту Spark SQL. В левой части страницы SQL Editor можно выполнить следующие операции:

Databases — на данной вкладке отображаются все созданные базы данных.

Queues — на данной вкладке отображаются все созданные очереди.

— нажмите на значок, чтобы создать базу данных, таблицу или очередь.

— нажмите на значок, чтобы обновить список баз данных, таблиц или очередей.

— фильтрация по имени базы данных или таблицы.

Queues — из раскрывающегося списка выберите нужную очередь.

Databases — из раскрывающегося списка выберите нужную базу данных.

Execute — нажмите кнопку для запуска SQL-задания.

Format — форматирование SQL-выражений.

Syntax Reference — нажмите, чтобы открыть справочник по синтаксису SQL.

Settings — можно задать свойства для представленных заданий SQL в формате ключ/значение (keu/value). Подробности смотрите в справочнике API Submitting a SQL Job (Recommended). Можно установить до 10 атрибутов.

More — включает в себя следующие опции:

Verify Syntax — проверка правильности SQL-выражений.

Save as Template — сохранение SQL-выражений в качестве образца.

Choose Template — выбор сохраненного ранее образца.

Change Theme — смена темы редактора со светлой на темную и наоборот.

Клавиши быстрого доступа:

Под окном редактора SQL можно увидеть запросы за последнюю неделю (вкладка Executed Queries (Last 7 Days) ) и посмотреть результат выполнения операции ( View Result ):

Создание задания SQL¶

Также к редактору SQL можно перейти из раздела Job Management :

Просмотр заданий SQL¶

На данной странице можно посмотреть подробности операций с базами данных и таблицами SQL. Для удобства поиска нужных заданий можно воспользоваться функциями фильтрации таблицы:

Name — фильтрация по имени очереди.

Date — фильтрация по дате выполнения задания.

Statement / Job ID — фильтрация по SQL-выражению или ID-номеру задания.

— обновление списка заданий.

Created — сортировка по убыванию (Descending) или возрастанию (Ascending) даты создания.

Job Type — сортировка по типу задания.

Status — сортировка по статусу задания.

Duration — сортировка по убыванию (Descending) или возрастанию (Ascending) длительности выполнения задания.

Управление заданиями SQL¶

На данной странице можно выполнить следующие операции:

SparkUI — после нажатия этой кнопки отобразится страница выполнения задания Spark.

Данная функция доступна только для пользовательских очередей (не для default) и для заданий асинхронных запросов.

Export Log — экспорт журнала логов.

Данная функция доступна только для пользовательских очередей (не для default) и для заданий асинхронных запросов.

Источник

Создание задания

В Управляемом экземпляре Azure SQL в настоящее время поддерживается большинство функций агента SQL Server (но не все). Подробные сведения см. в статье Различия в T-SQL между Управляемым экземпляром SQL Azure и SQL Server.

В этой статье описывается создание задания агента SQL Server в SQL Server с помощью среды SQL Server Management Studio, Transact-SQL или управляющих объектов SQL Server (SMO).

Чтобы добавить шаги заданий, расписаний, предупреждений и уведомлений, которые можно отправить операторам, см. ссылки на разделы руководства.

Перед началом работы

Для создания задания используется

Перед началом

Ограничения

Назначение задания другому имени входа не гарантирует того, что новый владелец обладает достаточными разрешениями для успешного запуска задания.

безопасность

Чтобы изменить владельца задания, необходимо быть системным администратором.

Permissions

Использование среды SQL Server Management Studio

Создание задания агента SQL Server

В обозревателе объектов щелкните знак «плюс», чтобы развернуть сервер, на котором нужно создать задание агента SQL Server.

Щелкните знак «плюс», чтобы развернуть Агент SQL Server.

Щелкните правой кнопкой мыши папку Задания и выберите пункт Создать задание….

На странице Общие в диалоговом окне Создание задания измените общие свойства задания. Дополнительные сведения о параметрах, доступных на этой странице, см. в разделе Свойства задания — создание задания (страница «Общие»)

На странице Действия задайте шаги задания. Дополнительные сведения о параметрах, доступных на этой странице, см. в разделе Свойства задания — создание задания (страница «Шаги»)

На странице Расписания задайте расписания для задания. Дополнительные сведения о параметрах, доступных на этой странице, см. в разделе Свойства задания — создание задания (страница «Расписания»)

На странице Предупреждения задайте предупреждения для задания. Дополнительные сведения о параметрах, доступных на этой странице, см. в разделе Свойства задания — создание задания (страница «Предупреждения»)

На странице Уведомления задайте действия, которые должен выполнять агент Microsoft SQL Server после завершения задания. Дополнительные сведения о параметрах, доступных на этой странице, см. в разделе Свойства задания — создание задания (страница «Уведомления»).

Страница Цели используется для управления целевыми серверами в задании. Дополнительные сведения о параметрах, доступных на этой странице, см. в разделе Свойства задания — создание задания (страница «Цели»).

Читайте также:  Что значит человек со странностями

После завершения нажмите кнопку ОК.

Использование Transact-SQL

Создание задания агента SQL Server

В обозревателе объектов подключитесь к экземпляру компонента Компонент Database Engine.

На стандартной панели выберите пункт Создать запрос.

Скопируйте следующий пример в окно запроса и нажмите кнопку Выполнить.

Дополнительные сведения см. в разделе:

Использование управляющих объектов SQL Server

Создание задания агента SQL Server

Вызовите метод Create класса Job на любом языке программирования, таком как Visual Basic, Visual C# или PowerShell. Пример кода см. в разделе Планирование автоматических административных задач в агенте SQL Server.

Источник

Job в sql что это

Задания в Oracle9i

В Oracle существует возможность запланировать выполнение определенного набора действий в виде заданий. Задание может, представляет собой хранимую процедуру, анонимный блок PL /SQL, внешнюю процедуру на языке C или Java. Время выполнения может иметь значение любого времени суток и подчинятся заданному интервалу. Это хорошо подходит для переноса тяжёлых в обработке расчётов на менее загруженное ночное время. По умолчанию выполнение заданий выключено. Поэтому надо провести небольшую дополнительную настройку сервера.

Настройка сервера

Для того чтобы задания начались выполняться необходимо, установить параметр инициализации JOB_QUEUE_PROCESSES. Изначально он имеет значение 0 и задаёт максимальное количество фоновых процессов для выполнения заданий. В версии Oracle 9.2 максимальное значение этого параметра может составлять 1000. На практике же обычно можно ограничиться не более 5 процессами. В любом случае вы всегда можете изменить это значение с помощью команды ALTER SYSTEM SET без перезагрузки сервера. Итак, для начала внесем новую строчку в файл инициализации и перезагрузим сервер:

В файле alert.log мы увидим, что в момент, когда стартуют фоновые процессы, у нас появилось новая запись:

Это стартовал новый фоновый процесс CJQ0, так называемый координатор заданий. Что он делает и для чего он нужен, мы рассмотрим чуть ниже, а на этом предварительную настройку сервера можно считать законченной.

Процессы

Итак, процесс координатора заданий запущен, и как можно догадаться из его названия именно этот процесс осуществляет общее управление всеми заданиями. Для начала он выбирает таблицу SYS.JOB$, в которой хранятся параметры заданий. Если среди заданий имеются те, которые будут выполняться в ближайший интервал времени указанный в скрытом параметре _JOB_QUEUE_INTERVAL (по умолчанию его значение составляет 5 секунд), то для них порождаются фоновые процессы очереди заданий Jnnn, которые в свою очередь создают сеансы для непосредственного выполнения запланированных действий. Именно максимальное количество процессов Jnnn, которые могут быть одновременно запущены и отражает настраиваемый параметр JOB_QUEUE_PROCESSES.

После того как выбранным заданиям были выделены процессы Jnnn, координатор выжидает интервал времени, указанный в параметре _JOB_QUEUE_INTERVAL. Процессы заданий в тоже время продолжают работать. После выполнения задания процесс Jnnn считается свободным, и координатор распределяет его на выполнение другого задания. Если такого задания не находится в течение определенного времени, то процесс Jnnn уничтожается. В случае, когда процессов Jnnn не хватает, задание будет выполнено в тот момент времени, когда один из них освободится.

Выставляйте значение параметра JOB_QUEUE_PROCESSES чуть больше максимального количества одновременно запускаемых заданий. Маленькое значение может привести к сдвигу времени выполнения из-за конкуренции за процессы Jnnn. Большое значение к неоправданному запуску этих же процессов в исключительных ситуациях.

Создание заданий

Для управления заданиями в Oracle существует специальный пакет DBMS_JOB. С его помощью над ними можно осуществлять различные действия. Для начала попробуем создать новое задание. В нашем случае для этого, нужно применить следующую процедуру пакета:

Опишем параметры этой процедуры:

Если вы введёте дату меньше чем текущую, то выполнение задания может начаться немедленно или отложится на неопределённое время. В этом случае попробуйте принудительно запустить задание или повторно изменить этот параметр, это инициирует немедленный запуск задания.

Задание будет выполняться ровно в n часов m минут каждого дня.

Задание будет выполняться ровно в n часов m минут последнего дня каждого месяца.

Задание будет выполняться ровно в n часов m минут первого дня каждого месяца.

Учитывайте, что вычисление NEXT_DATE с помощью формулы интервала происходит после выполнения задания. Поэтому всегда учитывайте это время и старайтесь не ставить их на время близкое к окончанию суток из-за возможного неправильного расчёта следующей даты выполнения.

При создании задания или изменения его параметров ORACLE записывает текущие параметры NLS владельца. Эти параметры каждый раз восстанавливаются при выполнении задания. Это может приводить к некоторым ошибкам в случае ожидания других значений. Поэтому если необходимо лучше производить установку нужных NLS значений с помощью команды ALTER SESSION в параметре WHAT задания.

В качестве примера создадим простое задание, которое при запуске будет делать паузу в 20 секунд, первый раз выполниться 1 января 2006 года в 1 час 5 минут и будет повторяться каждый день в то же самое время.

Изменение задания

И так задание создано. Теперь попробуем изменить некоторые его параметры. Для изменения доступны следующие параметры задания: WHAT, NEXT_DATE, INTERVAL и INSTANCE. Их можно менять все одновременно или по отдельности. К примеру, следующая процедура пакета меняет все три параметра, при этом следует учитывать, что если какой либо из них равен NULL, то значение параметра не изменится.

А вот уже эта процедура меняет значение только параметра WHAT:

Также с параметрами NEXT_DATE,INTERVAL,INSTANCE:

В качестве примера, увеличим паузу, которое делает задание, созданное ранее, до 30 секунд и изменим, время повторного запуска задания на 3 часа 15 минут:

Изменить параметры или совершать другие действия над заданием можно только его владельцу. В противном случае возникнет ошибка ORA-23421: job number 24 is not a job in the job queue.

Удаление задания

Если задание становиться ненужным, то его можно удалить. Сделать это можно следующей процедурой:

Выключение задания

Если флаг BROKEN имеет значение истинно, то такое задание считается разрушенным и выполняться не будет. Параметр NEXT_DATE определяет здесь дату следующего выполнения задания и действует только при его включении.

В момент выключения задания параметр NEXT_DATE устанавливается в максимальное значение даты. Если не указать параметр NEXT_DATE в момент включения, то задание начнёт выполняться немедленно.

Для примера выключим задание:

Вынужденное выполнение задания

Если необходимо запустить задание в текущий момент времени, то сделать это можно с помощью следующей процедуры пакета:

Задание выполняется в текущем сеансе, при этом повторно инициализируются пакеты текущего сеанса, и происходит неявная фиксация транзакции.

Экспорт задания

Если требуется перенести задание в другую базу данных или пересоздать задание, то это можно легко сделать с помощью следующей процедуры пакета:

Переменная mycall будет при этом содержать текст команды, с помощью которой можно заново создать задание.

Контроль задания

Как было указано выше, координатор заданий обращается в своей работе к системной таблице SYS.JOB$, хранящей описания всех заданий. На эту таблицу существуют три представления: DBA_JOBS, ALL_JOBS и USER_JOBS. Они наиболее часто используются для контроля над заданиями. Рассмотрим их некоторые столбцы:

Блокировки

Если подробнее разобрать представление DBA_JOBS_RUNNING, то можно увидеть что в его основе лежит соединение таблицы SYS.JOB$ и представления V$LOCK. Кажется, какая тут есть связь? Оказывается, есть и самая прямая. Для того чтобы гарантировать, что данное задание выполняется одновременно только в одном сеансе, Oracle выставляет блокировку JQ. Это можно хорошо видеть, сделав запрос к представлению V$LOCK во время выполнения задания:

При этом столбец ID2 будет указывать на идентификатор выполняемого задания.

Ошибки

Когда при выполнении задания происходит ошибка, в журнал уведомлений базы данных alert.log записывается сообщение об ошибке. Оно имеет примерно следующий вид:

Прерывание задания

Если необходимо прервать выполняющееся задание, то вначале надо его выключить. Затем определить sid и serial# сеанса с помощью следующего запроса:

Источник

sp_help_job (Transact-SQL)

Возвращает сведения о заданиях, используемых агентом SQL Server для выполнения автоматических действий в SQL Server.

Синтаксические обозначения в Transact-SQL

Синтаксис

Аргументы

[ @job_id = ] job_id Идентификационный номер задания. job_id имеет тип uniqueidentifier и значение по умолчанию NULL.

[ @job_name = ] ‘job_name’ Имя задания. Аргумент job_name имеет тип sysname и значение по умолчанию NULL.

[ @job_aspect = ] ‘job_aspect’ Атрибут задания для вывода. job_aspect имеет тип varchar (9), значение по умолчанию NULL и может принимать одно из следующих значений.

Формула интервала Описание
NULL Задание выполнится однократно и удалится.
TRUNC(SYSDATE+1)+n/24 Задание будет выполняться ровно в n часов каждого дня
TRUNC(SYSDATE+1)+(n+(m/60))/24
Значение Description
ALL Сведения об аспекте задания
ДОЛЖНО Сведения о задании
ДЕЙСТВИЕ Сведения о расписании
ВЫПОЛНЕНЫ Сведения об шаге задания
ЦЕЛИ Сведения о цели

[ @job_type = ] ‘job_type’ Тип заданий, включаемых в отчет. job_type имеет тип varchar (12) и значение по умолчанию NULL. job_type может быть локальным или многосерверным.

[ @owner_login_name = ] ‘login_name’ Имя входа владельца задания. Аргумент login_name имеет тип sysname и значение по умолчанию NULL.

[ @subsystem = ] ‘subsystem’ Имя подсистемы. подсистема имеет тип nvarchar (40) и значение по умолчанию NULL.

[ @category_name = ] ‘category’ Имя категории. Category имеет тип sysname и значение по умолчанию NULL.

[ @enabled = ] enabled Число, указывающее, отображаются ли сведения о включенных заданиях или отключенных заданиях. Enabled имеет тип tinyint и значение по умолчанию NULL. 1 указывает на включенные задания, а 0 означает отключенные задания.

[ @execution_status = ] status Состояние выполнения заданий. Status имеет тип int, значение по умолчанию NULL и может принимать одно из следующих значений.

Значение Описание
0 Возвращает только те задания, которые не находятся в состоянии бездействия или приостановки.
1 Выполняющиеся.
2 Ожидающие потока.
3 Ожидающие повторной попытки.
4 Бездействующие.
5 Приостановленные.
7 Выполняющие завершающие действия.

[ @date_created = ] date_created Дата создания задания. date_created имеет тип DateTime и значение по умолчанию NULL.

[ @date_last_modified = ] date_modified Дата последнего изменения задания. date_modified имеет тип DateTime и значение по умолчанию NULL.

[ @description = ] ‘description_pattern’ Описание задания. description_pattern имеет тип nvarchar (512) и значение по умолчанию NULL. description_pattern может включать SQL Server подстановочных знаков для сопоставления шаблонов.

Значения кода возврата

0 (успешное завершение) или 1 (сбой)

Результирующие наборы

Если аргументы не указаны, sp_help_job возвращает этот результирующий набор.

0 = никогда

1 = при завершении задания;

2 = при сбое задания

0 = сбой

1 = успех

3 = отменено

5 = неизвестно next_run_date int Дата следующего запуска задания по расписанию. next_run_time int Время следующего запуска задания по расписанию. next_run_schedule_id int Идентификационный номер следующего запуска по расписанию. current_execution_status int Текущее состояние выполнения:

1 = исполнение

2 = ожидание потока

3 = между повторными попытками

4 = бездействие

5 = приостановлено

6 = устарело

7 = перформингкомплетионактионс current_execution_step sysname Текущий этап выполнения задания. current_retry_attempt int Если задание выполняется и этап был повторен — это текущая попытка повтора. has_step int Число шагов в задании. has_schedule int Число назначенных запусков задания в расписании. has_target int Число целевых серверов в задании. type int Тип задания.

1 = Локальное задание.

2 = многосерверное задание.

0 = задание не имеет целевых серверов.

Это результирующий набор для шагов задания.

Имя столбца Тип данных Описание
step_id int Уникальный для данного задания идентификатор этапа.
step_name sysname Имя этапа.
подсистемы nvarchar(40) Подсистема, в которой выполняется команда этапа.
command nvarchar (3200) Команда для выполнения.
flags nvarchar(4000) Битовая маска значений, управляющих поведением шага.
cmdexec_success_code int Для шага CmdExec это код завершения процесса успешной команды.
on_success_action nvarchar(4000) Что делать в случае успешного выполнения этапа:

1 = завершить успешно.

2 = завершить с ошибкой.

3 = перейти к следующему шагу.

4 = перейти к шагу.

on_success_step_id int Если значение on_success_action равно 4, это указывает на следующий шаг для выполнения.
on_fail_action nvarchar(4000) Действие, предпринимаемое в случае ошибки этапа. Значения совпадают с значениями для on_success_action.
on_fail_step_id int Если значение on_fail_action равно 4, это указывает на следующий шаг для выполнения.
server sysname Зарезервировано.
database_name sysname Для шага Transact-SQL это база данных, в которой выполняется команда.
database_user_name sysname Для шага Transact-SQL это контекст пользователя базы данных, в котором выполняется команда.
retry_attempts int Максимальное число попыток повтора команды (в случае неудачи) перед тем, как этап будет учтен как ошибочный.
retry_interval int Интервал в минутах между попытками повтора.
os_run_priority varchar (4000) Зарезервировано.
output_file_name varchar (200) Файл, в который должны быть записаны выходные данные команды ( Transact-SQL только шаги CmdExec ).
last_run_outcome int Результат последнего запуска этапа:

0 = сбой

1 = успех

3 = отменено

5 = неизвестно

last_run_duration int Продолжительность этапа в секундах при последнем запуске.
last_run_retries int Число повторов команды при последнем запуске этапа.
last_run_date int Дата начала последнего выполнения этапа.
last_run_time int Время начала последнего выполнения этапа.
proxy_id int Учетная запись-посредник для шага задания.

Это результирующий набор для расписания задания.

Имя столбца Тип данных Описание
schedule_id int Идентификатор расписания (уникальный среди всех заданий).
schedule_name sysname Имя расписания (уникально только для данного задания).
enabled int Является ли расписание активным (1) или нет (0).
freq_type int Значение, указывающее, как должно выполняться задание:

1 = один раз

4 = ежедневно

8 = еженедельно

16 = ежемесячно

32 = ежемесячно относительно freq_interval

Это результирующий набор для целевых серверов задания.

Имя столбца Тип данных Описание
server_id int Идентификатор целевого сервера.
server_name nvarchar(30) Имя компьютера целевого сервера.
enlist_date datetime Дата прикрепления целевого сервера к главному серверу.
last_poll_date datetime Дата последнего опроса главного сервера целевым сервером.
last_run_date int Дата последнего запуска задания на выполнение на данном целевом сервере.
last_run_time int Время последнего запуска задания на выполнение на данном целевом сервере.
last_run_duration int Продолжительность последнего выполнения задания на целевом сервере.
last_run_outcome tinyint Результат последнего выполнения задания на данном сервере:

0 = сбой

1 = успех

3 = отменено

5 = неизвестно

last_outcome_message nvarchar(1024) Сообщение о результате последнего выполнения задания на данном целевом сервере.

Разрешения

SQLAgentUserRole

SQLAgentReaderRole

SQLAgentOperatorRole

Дополнительные сведения о разрешениях этих ролей см. в разделе Предопределенные роли базы данных агента SQL Server.

Члены SQLAgentUserRole могут только просматривать задания, которыми они владеют. Члены sysadmin, SQLAgentReaderRole и SQLAgentOperatorRole могут просматривать все локальные и многосерверные задания.

Примеры

A. Вывод списка сведений обо всех заданиях

Б. Вывод сведений о заданиях, совпадающих с определенным критерием

В. Вывод всех аспектов сведений о задании

Источник

Читайте также:  сумка тоут что это значит
Сказочный портал