jobs.sp_update_jobstep (processi elastici di Azure) (Transact-SQL)
Si applica a: Database SQL di Azure
Modifica un passaggio di processo in un processo esistente nel servizio Processi elastici di Azure per database SQL di Azure. Usare jobs.sp_add_jobstep per aggiungere passaggi di processo a un processo.
Questa stored procedure condivide il nome di sp_update_jobstep
con un oggetto simile in SQL Server per il servizio SQL Server Agent. Per informazioni sulla versione di SQL Server Agent, vedere sp_update_jobstep.
Convenzioni relative alla sintassi Transact-SQL
Sintassi
[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 ]
Argomenti
@job_name
Nome del processo a cui appartiene il passaggio. job_name è nvarchar(128).
@step_id
Numero di identificazione del passaggio del processo da modificare. È necessario specificare step_id o step_name . step_id è un valore int.
@step_name
Nome del passaggio da modificare. È necessario specificare step_id o step_name . step_name è nvarchar(128).
@new_id
Nuovo numero di identificazione della sequenza per il passaggio del processo. I numeri di identificazione dei passaggi iniziano da 1 e vengono incrementati senza interruzioni. Se un passaggio viene riordinato, gli altri passaggi verranno rinumerati automaticamente.
@new_name
Nuovo nome del passaggio. new_name è nvarchar(128).
@command_type
Tipo di comando eseguito da questo passaggio del processo. command_type è nvarchar(50), con un valore predefinito , TSql
ovvero il valore del parametro @command_type è uno script T-SQL.
Se specificato, il valore deve essere TSql
.
@command_source
Tipo di posizione in cui è archiviato il comando. command_source è nvarchar(50), con un valore predefinito , Inline
ovvero il valore del parametro @command è il testo letterale del comando.
Se specificato, il valore deve essere Inline
.
@command
Script T-SQL valido che deve essere eseguito da questo passaggio del processo. il comando è nvarchar(max), con un valore predefinito .NULL
@credential_name
Nome delle credenziali con ambito database archiviate in questo database di controllo del processo utilizzato per connettersi a ognuno dei database di destinazione all'interno del gruppo di destinazione quando questo passaggio viene eseguito. credential_name è nvarchar(128).
Quando si usa l'autenticazione di Microsoft Entra (in precedenza Azure Active Directory), omettere il parametro @credential_name , che deve essere fornito solo quando si usano credenziali con ambito database.
@target_group_name
Nome del gruppo di destinazione contenente i database di destinazione su cui verrà eseguito il passaggio del processo. target_group_name è nvarchar(128).
@initial_retry_interval_seconds
Ritardo prima del primo tentativo, se il passaggio del processo non riesce durante il tentativo di esecuzione iniziale. initial_retry_interval_seconds è int, con il valore predefinito 1.
@maximum_retry_interval_seconds
Ritardo massimo tra i tentativi. Se il ritardo tra i tentativi aumenta di dimensioni maggiori rispetto a questo valore, viene invece limitato a questo valore. maximum_retry_interval_seconds è int, con il valore predefinito 120.
@retry_interval_backoff_multiplier
Moltiplicatore da applicare al ritardo tra i tentativi se più tentativi di esecuzione del passaggio del processo hanno esito negativo. Ad esempio, se il primo tentativo ha un ritardo di 5 secondi e il moltiplicatore di backoff è 2.0, il secondo tentativo avrà un ritardo di 10 e il terzo un ritardo di 20 secondi. retry_interval_backoff_multiplier è il tipo di dati reale, con valore predefinito 2,0.
@retry_attempts
Numero di tentativi di esecuzione se il tentativo iniziale non riesce. Ad esempio, se il valore retry_attempts è 10, verranno eseguiti 1 tentativo iniziale e 10 tentativi, dando un totale di 11 tentativi. Se il tentativo di ripetizione finale ha esito negativo, l'esecuzione del processo terminerà con un lifecycle
oggetto registrato Failed
in jobs.job_executions. retry_attempts è int, con il valore predefinito 10.
@step_timeout_seconds
Tempo massimo consentito per l'esecuzione del passaggio. Se questa volta viene superata, l'esecuzione del processo terminerà con un lifecycle
di TimedOut
registrato in jobs.job_executions. step_timeout_seconds è int, con valore predefinito di 43.200 secondi (12 ore).
@output_type
In caso contrario NULL
, il tipo di destinazione in cui viene scritto il primo set di risultati del comando. Per reimpostare il valore di output_type su NULL
, impostare il valore del parametro su '' (stringa vuota). output_type è nvarchar(50), con il valore predefinito NULL
.
Se specificato, il valore deve essere SqlDatabase
.
@output_credential_name
Se non NULL
è , il nome della credenziale con ambito database utilizzata per connettersi al database di destinazione di output. Deve essere specificato se output_type è uguale a SqlDatabase
. Per reimpostare il valore di output_credential_name su NULL
, impostare il valore del parametro su '' (stringa vuota). output_credential_name è nvarchar(128), con un valore predefinito .NULL
Quando si usa l'autenticazione di Microsoft Entra (in precedenza Azure Active Directory), omettere il parametro @output_credential_name , che deve essere fornito solo quando si usano credenziali con ambito database.
@output_server_name
In caso contrario NULL
, il nome DNS completo del server che contiene il database di destinazione di output, @output_server_name = 'server1.database.windows.net'
ad esempio . Deve essere specificato se output_type è uguale a SqlDatabase
. Per reimpostare il valore di output_server_name su NULL
, impostare il valore di questo parametro su '' (stringa vuota). output_server_name è nvarchar(256), con il valore predefinito NULL
.
@output_database_name
Se non NULL
è , il nome del database che contiene la tabella di destinazione di output. Deve essere specificato se output_type è uguale a SqlDatabase
. Per reimpostare il valore di output_database_name su NULL
, impostare il valore di questo parametro su '' (stringa vuota). output_database_name è nvarchar(128), con il valore predefinito NULL
.
@output_schema_name
Se non NULL
è , il nome dello schema SQL che contiene la tabella di destinazione di output. Se output_type è uguale SqlDatabase
a , il valore predefinito è dbo
. Per reimpostare il valore di output_schema_name su NULL
, impostare il valore del parametro su '' (stringa vuota). output_schema_name è nvarchar(128).
@output_table_name
In caso contrario NULL
, il nome della tabella in cui verrà scritto il primo set di risultati del comando. Se la tabella non esiste già, verrà creata in base allo schema del set di risultati restituito. Deve essere specificato se output_type è uguale a SqlDatabase
. Per reimpostare il valore di output_server_name su NULL
, impostare il valore di questo parametro su '' (stringa vuota). output_table_name è nvarchar(128), con un valore predefinito .NULL
Se si specifica un output_table_name, alle credenziali dell'agente di processo o con ambito database devono essere concesse le autorizzazioni necessarie per i dati CREATE TABLE e INSERT nella tabella.
@job_version PRODOTTO
Parametro di output che verrà assegnato al nuovo numero di versione del processo. job_version è int.
@max_parallelism PRODOTTO
Livello massimo di parallelismo per ogni pool elastico. Se impostato, il passaggio del processo sarà limitato in modo da eseguire solo il numero massimo di database per ogni pool elastico. Questo vale per ogni pool elastico incluso direttamente nel gruppo di destinazione o per i pool elastici all'interno di un server incluso nel gruppo di destinazione. Per reimpostare il valore di max_parallelism su NULL
, impostare il valore di questo parametro su -1
. max_parallelism è int.
Valori del codice restituito
0
(esito positivo) o 1
(errore).
Osservazioni:
Le eventuali esecuzioni in corso del processo non saranno interessate. In caso jobs.sp_update_jobstep
di esito positivo, il numero di versione del processo viene incrementato. Alla successiva esecuzione del processo, verrà usata la nuova versione.
Autorizzazioni
Per impostazione predefinita, questa stored procedure può essere eseguita dai membri del ruolo predefinito del server sysadmin . Solo i membri del ruolo sysadmin possono usare questa stored procedure per modificare gli attributi dei processi di proprietà di altri utenti.
Esempi
Comando di aggiornamento di un passaggio di processo elastico
Questo esempio aggiorna il comando T-SQL di un passaggio di processo elastico esistente. Lo script T-SQL aggiunge un passaggio di processo per creare una tabella, se non esiste.
--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';