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';