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).
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 TSql
default , 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 Inline
default , 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 NULL
default .
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 NULL
default .
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 HASIL
Parameter output yang akan ditetapkan nomor versi pekerjaan baru. job_version int.
@max_parallelism HASIL
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';
Konten terkait
Saran dan Komentar
https://aka.ms/ContentUserFeedback.
Segera hadir: Sepanjang tahun 2024 kami akan menghentikan penggunaan GitHub Issues sebagai mekanisme umpan balik untuk konten dan menggantinya dengan sistem umpan balik baru. Untuk mengetahui informasi selengkapnya, lihat:Kirim dan lihat umpan balik untuk