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).
Соглашения о синтаксисе 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';