Bagikan melalui


jobs.sp_update_jobstep (Pekerjaan Azure Elastic) (Transact-SQL)

Berlaku untuk:Azure SQL Database

Memodifikasi langkah pekerjaan dalam pekerjaan yang ada di layanan Azure Elastic Jobs untuk Azure SQL Database. Gunakan jobs.sp_add_jobstep untuk menambahkan langkah-langkah pekerjaan ke pekerjaan.

Prosedur tersimpan sp_update_jobstep ini berbagi nama dengan objek serupa di SQL Server untuk layanan SQL Server Agent. Untuk informasi tentang versi SQL Server Agent, lihat sp_update_jobstep (Transact-SQL).

Konvensi sintaks transact-SQL

Sintaks

[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 ]

Argumen

@job_name

Nama pekerjaan tempat langkah tersebut berada. job_name adalah nvarchar(128).

@step_id

Nomor identifikasi untuk langkah pekerjaan yang akan dimodifikasi. Baik step_id atau step_name harus ditentukan. step_id adalah int.

@step_name

Nama langkah yang akan dimodifikasi. Baik step_id atau step_name harus ditentukan. step_name adalah nvarchar(128).

@new_id

Nomor identifikasi urutan baru untuk langkah pekerjaan. Nomor identifikasi langkah dimulai dari 1 dan tahapan tanpa celah. Jika langkah disusun ulang, langkah lain akan secara otomatis dinomori ulang.

@new_name

Nama baru dari langkah ini. new_name adalah nvarchar(128).

@command_type

Jenis perintah yang dijalankan oleh langkah pekerjaan ini. command_type adalah nvarchar(50), dengan nilai TSqldefault , yang berarti bahwa nilai parameter @command_type adalah skrip T-SQL.

Jika ditentukan, nilainya harus TSql.

@command_source

Jenis lokasi tempat perintah disimpan. command_source adalah nvarchar(50), dengan nilai Inlinedefault , yang berarti bahwa nilai parameter @command adalah teks harfiah dari perintah.

Jika ditentukan, nilainya harus Inline.

@command

Skrip T-SQL yang valid yang akan dijalankan oleh langkah pekerjaan ini. perintah adalah nvarchar(max), dengan default NULL.

@credential_name

Nama kredensial cakupan database yang disimpan dalam database kontrol pekerjaan ini yang digunakan untuk menyambungkan ke setiap database target dalam grup target saat langkah ini dijalankan. credential_name adalah nvarchar(128).

Saat menggunakan autentikasi Microsoft Entra (sebelumnya Azure Active Directory), hilangkan parameter @credential_name , yang seharusnya hanya disediakan saat menggunakan kredensial cakupan database.

@target_group_name

Nama grup target yang berisi database target tempat langkah pekerjaan akan dijalankan. target_group_name adalah nvarchar(128).

@initial_retry_interval_seconds

Penundaan sebelum upaya percobaan ulang pertama, jika langkah pekerjaan gagal pada upaya pelaksanaan awal. initial_retry_interval_seconds int, dengan nilai default 1.

@maximum_retry_interval_seconds

Penundaan maksimum antara upaya percobaan ulang. Jika penundaan di antara percobaan ulang menjadi lebih besar dari nilai ini, maka akan dibatasi ke nilai ini sebagai gantinya. maximum_retry_interval_seconds int, dengan nilai default 120.

@retry_interval_backoff_multiplier

Pengali yang akan diterapkan ke penundaan percobaan ulang jika beberapa upaya pelaksanaan langkah pekerjaan gagal. Misalnya, jika percobaan ulang pertama memiliki penundaan 5 detik dan pengali backoff adalah 2,0, maka percobaan ulang kedua akan memiliki penundaan 10 detik dan percobaan ulang ketiga akan memiliki penundaan 20 detik. retry_interval_backoff_multiplier adalah jenis data nyata, dengan nilai default 2.0.

@retry_attempts

Jumlah pelaksanaan percobaan ulang jika upaya awal gagal. Misalnya, jika nilai retry_attempts adalah 10, maka akan ada 1 upaya awal dan 10 upaya coba lagi, memberikan total 11 upaya. Jika upaya coba lagi terakhir gagal, maka eksekusi pekerjaan akan berakhir dengan lifecycle yang Failed direkam dalam jobs.job_executions. retry_attempts int, dengan nilai default 10.

@step_timeout_seconds

Jumlah waktu maksimum yang diperbolehkan untuk menjalankan langkah tersebut. Jika waktu ini terlampaui, maka eksekusi pekerjaan akan berakhir dengan lifecycle yang TimedOut dicatat dalam jobs.job_executions. step_timeout_seconds int, dengan nilai default 43.200 detik (12 jam).

@output_type

Jika tidak NULL, jenis tujuan tempat tataan hasil pertama perintah ditulis. Untuk mengatur ulang nilai output_type kembali ke NULL, atur nilai parameter ini ke '' (string kosong). output_type adalah nvarchar(50), dengan default NULL.

Jika ditentukan, nilainya harus SqlDatabase.

@output_credential_name

Jika tidak NULL, nama kredensial cakupan database yang digunakan untuk menyambungkan ke database tujuan output. Harus ditentukan jika output_type sama dengan SqlDatabase. Untuk mengatur ulang nilai output_credential_name kembali ke NULL, atur nilai parameter ini ke '' (string kosong). output_credential_name adalah nvarchar(128), dengan nilai NULLdefault .

Saat menggunakan autentikasi Microsoft Entra (sebelumnya Azure Active Directory), hilangkan parameter @output_credential_name , yang seharusnya hanya disediakan saat menggunakan kredensial cakupan database.

@output_server_name

Jika tidak NULL, nama DNS server yang sepenuhnya memenuhi syarat yang berisi database tujuan output, misalnya, @output_server_name = 'server1.database.windows.net'. Harus ditentukan jika output_type sama dengan SqlDatabase. Untuk mengatur ulang nilai output_server_name kembali ke NULL, atur nilai parameter ini ke '' (string kosong). output_server_name adalah nvarchar(256), dengan default NULL.

@output_database_name

Jika tidak NULL, nama database yang berisi tabel tujuan output. Harus ditentukan jika output_type sama dengan SqlDatabase. Untuk mengatur ulang nilai output_database_name kembali ke NULL, atur nilai parameter ini ke '' (string kosong). output_database_name adalah nvarchar(128), dengan default NULL.

@output_schema_name

Jika tidak NULL, nama skema SQL yang berisi tabel tujuan output. Jika output_type sama dengan SqlDatabase, nilai defaultnya adalah dbo . Untuk mengatur ulang nilai output_schema_name kembali ke NULL, atur nilai parameter ini ke '' (string kosong). output_schema_name adalah nvarchar(128).

@output_table_name

Jika tidak NULL, nama tabel tempat tataan hasil pertama perintah akan ditulis. Jika tabel belum ada, tabel akan dibuat berdasarkan skema tataan hasil yang ditampilkan. Harus ditentukan jika output_type sama dengan SqlDatabase. Untuk mengatur ulang nilai output_server_name kembali ke NULL, atur nilai parameter ini ke '' (string kosong). output_table_name adalah nvarchar(128), dengan nilai NULLdefault .

Jika menentukan output_table_name, UMI Agen Pekerjaan atau kredensial cakupan database harus diberikan izin yang diperlukan untuk MEMBUAT TABEL dan MENYISIPKAN data ke dalam tabel.

@job_version OUTPUT

Parameter output yang akan ditetapkan nomor versi pekerjaan baru. job_version int.

@max_parallelism OUTPUT

Tingkat maksimum paralelisme per kumpulan elastis. Jika diatur, maka langkah pekerjaan akan dibatasi untuk hanya berjalan pada jumlah maksimum dari banyak database per kumpulan elastis. Ini berlaku untuk setiap kumpulan elastis yang secara langsung disertakan dalam grup target atau ke kumpulan elastis di dalam server yang disertakan dalam grup target. Untuk mengatur ulang nilai max_parallelism kembali ke NULL, atur nilai parameter ini ke -1 . max_parallelism int.

Mengembalikan Nilai Kode

0 (keberhasilan) atau 1 (kegagalan)

Keterangan

Setiap pelaksanaan dalam proses pekerjaan tidak akan terpengaruh. Ketika jobs.sp_update_jobstep berhasil, nomor versi pekerjaan akan dinaikkan. Saat pekerjaan selanjutnya dijalankan, versi baru akan digunakan.

Izin

Secara default, anggota peran server tetap sysadmin dapat menjalankan prosedur tersimpan ini. Hanya anggota sysadmin yang dapat menggunakan prosedur tersimpan ini untuk mengedit atribut pekerjaan yang dimiliki oleh pengguna lain

Contoh

Perbarui perintah langkah pekerjaan elastis

Sampel ini memperbarui perintah T-SQL dari langkah pekerjaan elastis yang ada. Skrip T-SQL menambahkan langkah pekerjaan untuk membuat tabel jika tidak ada.

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