Поделиться через


jobs.sp_update_jobstep (задания эластичных баз данных Azure) (Transact-SQL)

Применимо к: База данных SQL Azure

Изменяет шаг задания в существующем задании в службе эластичных заданий Azure для База данных SQL Azure. Используйте jobs.sp_add_jobstep , чтобы добавить шаги задания в задание.

Эта хранимая процедура использует имя аналогичного sp_update_jobstep объекта в SQL Server для службы агент SQL Server. Сведения о версии агент SQL Server см. в sp_update_jobstep.

Соглашения о синтаксисе Transact-SQL

Синтаксис

[jobs].sp_update_jobstep [ @job_name = ] 'job_name'
     [ , [ @step_id = ] step_id ]
     [ , [ @step_name = ] 'step_name' ]
     [ , [ @new_id = ] new_id ]
     [ , [ @new_name = ] 'new_name' ]
     [ , [ @command_type = ] 'command_type' ]
     [ , [ @command_source = ] 'command_source' ]
     , [ @command = ] 'command'
     [ , [ @credential_name = ] 'credential_name' ]
     , [ @target_group_name = ] 'target_group_name'
     [ , [ @initial_retry_interval_seconds = ] initial_retry_interval_seconds ]
     [ , [ @maximum_retry_interval_seconds = ] maximum_retry_interval_seconds ]
     [ , [ @retry_interval_backoff_multiplier = ] retry_interval_backoff_multiplier ]
     [ , [ @retry_attempts = ] retry_attempts ]
     [ , [ @step_timeout_seconds = ] step_timeout_seconds ]
     [ , [ @output_type = ] 'output_type' ]
     [ , [ @output_credential_name = ] 'output_credential_name' ]
     [ , [ @output_server_name = ] 'output_server_name' ]
     [ , [ @output_database_name = ] 'output_database_name' ]
     [ , [ @output_schema_name = ] 'output_schema_name' ]
     [ , [ @output_table_name = ] 'output_table_name' ]
     [ , [ @job_version = ] job_version OUTPUT ]
     [ , [ @max_parallelism = ] max_parallelism ]

Аргументы

@job_name

Имя задания, которому принадлежит шаг. job_name — nvarchar(128).

@step_id

Идентификационный номер шага задания, которое необходимо изменить. Необходимо указать step_id или step_name. step_id является int.

@step_name

Имя изменяемого шага. Необходимо указать step_id или step_name. step_name — nvarchar(128).

@new_id

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

@new_name

Новое имя шага. new_name nvarchar(128).

@command_type

Тип команды, выполняемой на этом шаге задания. command_type имеет значение nvarchar(50) со значением по умолчанию, то есть значение TSqlпараметра @command_type является скриптом T-SQL.

Если задано, значение должно быть TSql.

@command_source

Тип расположения, в котором хранится команда. command_source имеет значение nvarchar(50) со значением по умолчанию, то есть значение Inlineпараметра @command является литеральным текстом команды.

Если задано, значение должно быть Inline.

@command

Допустимый скрипт T-SQL, который должен выполняться на этом шаге задания. команда — nvarchar(max), с значением по умолчанию NULL.

@credential_name

Имя учетных данных с областью базы данных, хранящихся в этой базе данных управления заданием, которая используется для подключения к каждой из целевых баз данных в целевой группе при выполнении этого шага. credential_name — nvarchar(128).

При использовании проверки подлинности Microsoft Entra (ранее — Azure Active Directory) опустите параметр @credential_name , который следует предоставить только при использовании учетных данных с областью базы данных.

@target_group_name

Имя целевой группы, содержащей целевые базы данных, в которые будет выполняться шаг задания. target_group_name — nvarchar(128).

@initial_retry_interval_seconds

Задержка перед первой повторной попыткой в случае сбоя при первой попытке выполнения задания. initial_retry_interval_seconds имеет значение int с значением по умолчанию 1.

@maximum_retry_interval_seconds

Максимальная задержка между повторными попытками. Если задержка между повторными попытками увеличится больше, чем это значение, оно ограничивается этим значением. maximum_retry_interval_seconds имеет значение int с значением по умолчанию 120.

@retry_interval_backoff_multiplier

Коэффициент, на который умножается значение задержки перед повторной попыткой в случае нескольких попыток выполнения шага задания. Например, если перед первой попыткой задержка составляет 5 секунд, а коэффициент отхода равен 2,0, то задержка перед второй попыткой составит 10 секунд, а перед третьей — 20 секунд. retry_interval_backoff_multiplier — это реальный тип данных с значением по умолчанию 2.0.

@retry_attempts

Число попыток выполнения в случае сбоя первоначальной попытки. Например, если значение retry_attempts равно 10, то будет выполнена 1 начальная попытка и 10 повторных попыток, что дает в общей сложности 11 попыток. Если последняя попытка повтора завершается сбоем, выполнение задания завершится записью lifecycle Failed в jobs.job_executions. retry_attempts имеет значение int с значением по умолчанию 10.

@step_timeout_seconds

Максимальная продолжительность выполнения шага. Если это время превышено, выполнение задания завершится с lifecycle TimedOut записью в jobs.job_executions. step_timeout_seconds имеет значение int, при этом значение по умолчанию составляет 43 200 секунд (12 часов).

@output_type

Если нет NULL, тип назначения, в который записывается первый результирующий набор команды. Чтобы сбросить значение output_type обратно NULL, задайте для этого параметра значение '' (пустая строка). output_type — nvarchar(50) с значением по умолчаниюNULL.

Если задано, значение должно быть SqlDatabase.

@output_credential_name

NULLВ противном случае — имя учетных данных с областью базы данных, используемых для подключения к выходной целевой базе данных. Необходимо указать, если output_type равно SqlDatabase. Чтобы сбросить значение output_credential_name обратно NULL, задайте для этого параметра значение '' (пустая строка). output_credential_name — nvarchar(128) со значением NULLпо умолчанию.

При использовании проверки подлинности Microsoft Entra (ранее Azure Active Directory) опустите параметр @output_credential_name , который следует указать только при использовании учетных данных с областью базы данных.

@output_server_name

Если нет NULL, полное DNS-имя сервера, содержащего выходную целевую базу данных, например @output_server_name = 'server1.database.windows.net'. Необходимо указать, если output_type равно SqlDatabase. Чтобы сбросить значение output_server_name обратно NULL, задайте для этого параметра значение '' (пустая строка). output_server_name — nvarchar(256) с значением по умолчаниюNULL.

@output_database_name

Если нет NULL, имя базы данных, содержащей выходную целевую таблицу. Необходимо указать, если output_type равно SqlDatabase. Чтобы сбросить значение output_database_name обратно NULL, задайте для этого параметра значение '' (пустая строка). output_database_name — nvarchar(128) с значением по умолчаниюNULL.

@output_schema_name

Если нет NULL, имя схемы SQL, содержащей выходную целевую таблицу. Если output_type равно SqlDatabase, значение по умолчанию равно dbo. Чтобы сбросить значение output_schema_name обратно NULL, задайте для этого параметра значение '' (пустая строка). output_schema_name — nvarchar(128).

@output_table_name

Если нет NULL, имя таблицы, в которую будет записан первый результирующий набор команды. Если таблица не существует, она будет создана в соответствии со схемой возвращенного результирующего набора. Необходимо указать, если output_type равно SqlDatabase. Чтобы сбросить значение output_server_name обратно NULL, задайте для этого параметра значение '' (пустая строка). output_table_name — nvarchar(128) со значением NULLпо умолчанию.

При указании output_table_name учетные данные агента заданий или учетные данные с областью базы данных должны быть предоставлены необходимые разрешения для создания данных TABLE и INSERT в таблицу.

@job_version ВЫПУСК

Параметр вывода, которому будет присвоен номер версии нового задания. job_version является int.

@max_parallelism ВЫПУСК

Максимальный уровень параллелизма на эластичный пул. Если этот аргумент задан, то шаг задания сможет обрабатывать не больше указанного максимального числа баз данных на эластичный пул. Это относится к каждому эластичному пулу, который напрямую входит в целевую группу или к эластичным пулам внутри сервера, включенного в целевую группу. Чтобы сбросить значение max_parallelism обратно NULL, задайте для этого параметра значение -1. max_parallelism имеет значение int.

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

0 (успешно) или 1 (сбой).

Замечания

Какие-либо текущие выполнения задания не затрагиваются. После jobs.sp_update_jobstep успешного выполнения номер версии задания увеличивается. При следующем выполнении задания будет использоваться его новая версия.

Разрешения

По умолчанию эту хранимую процедуру могут выполнять только члены предопределенной роли сервера sysadmin . Только участники роли sysadmin могут использовать эту хранимую процедуру для редактирования атрибутов заданий, которыми владеют другие пользователи.

Примеры

Обновление команды шага эластичного задания

В этом примере обновляется команда T-SQL существующего шага эластичного задания. Скрипт T-SQL добавляет шаг задания для создания таблицы, если она не существует.

--Connect to the job database specified when creating the elastic job agent

-- Add job step to create a table if it does not exist
EXEC jobs.sp_update_jobstep @job_name = 'CreateTableTest',
@command = N'IF NOT EXISTS (SELECT * FROM sys.tables WHERE object_id = object_id(''Test''))
CREATE TABLE [dbo].[Test]([TestId] [int] NOT NULL);',
@target_group_name = 'PoolGroup';