Бөлісу құралы:


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