Задания 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. С его помощью над ними можно осуществлять различные действия. Для начала попробуем создать новое задание. В нашем случае для этого, нужно применить следующую процедуру пакета:
Опишем параметры этой процедуры:
Если вы введёте дату меньше чем текущую, то выполнение задания может начаться немедленно или отложится на неопределённое время. В этом случае попробуйте принудительно запустить задание или повторно изменить этот параметр, это инициирует немедленный запуск задания.
| Формула интервала | Описание | |||||||||||||||||||||||||||
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| 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 = неизвестно
1 = исполнение
2 = ожидание потока
3 = между повторными попытками
4 = бездействие
5 = приостановлено
6 = устарело
7 = перформингкомплетионактионс
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 Это результирующий набор для целевых серверов задания.
РазрешенияSQLAgentUserRole SQLAgentReaderRole SQLAgentOperatorRole Дополнительные сведения о разрешениях этих ролей см. в разделе Предопределенные роли базы данных агента SQL Server. Члены SQLAgentUserRole могут только просматривать задания, которыми они владеют. Члены sysadmin, SQLAgentReaderRole и SQLAgentOperatorRole могут просматривать все локальные и многосерверные задания. ПримерыA. Вывод списка сведений обо всех заданияхБ. Вывод сведений о заданиях, совпадающих с определенным критериемВ. Вывод всех аспектов сведений о задании |





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


