Aracılığıyla paylaş


sp_update_job (Transact-SQL)

Şunlar için geçerlidir:SQL ServerAzure SQL Yönetilen Örneği

SQL Server Agent hizmetinde oluşturulan mevcut bir işin niteliklerini günceller.

Transact-SQL söz dizimi kuralları

Sözdizimi

sp_update_job
    [ [ @job_id = ] 'job_id' ]
    [ , [ @job_name = ] N'job_name' ]
    [ , [ @new_name = ] N'new_name' ]
    [ , [ @enabled = ] enabled ]
    [ , [ @description = ] N'description' ]
    [ , [ @start_step_id = ] start_step_id ]
    [ , [ @category_name = ] N'category_name' ]
    [ , [ @owner_login_name = ] N'owner_login_name' ]
    [ , [ @notify_level_eventlog = ] notify_level_eventlog ]
    [ , [ @notify_level_email = ] notify_level_email ]
    [ , [ @notify_level_netsend = ] notify_level_netsend ]
    [ , [ @notify_level_page = ] notify_level_page ]
    [ , [ @notify_email_operator_name = ] N'notify_email_operator_name' ]
    [ , [ @notify_netsend_operator_name = ] N'notify_netsend_operator_name' ]
    [ , [ @notify_page_operator_name = ] N'notify_page_operator_name' ]
    [ , [ @delete_level = ] delete_level ]
    [ , [ @automatic_post = ] automatic_post ]
[ ; ]

Arguments

[ @job_id = ] 'job_id'

Güncellenecek işin kimlik numarası. @job_iduniqueidentifier'dır ve varsayılan olarak ' NULLdir.

Ya @job_id ya da @job_name belirtilmelidir, ancak ikisi de belirtilemez.

[ @job_name = ] N'job_name'

İşin adı. @job_namesysname'dir ve varsayılan olarak .NULL

Ya @job_id ya da @job_name belirtilmelidir, ancak ikisi de belirtilemez.

[ @new_name = ] N'new_name'

İşin yeni adı. @new_namesysname'dir ve varsayılan olarak .NULL

[ @enabled = ] etkinleştirildi

İşin etkin (1) veya etkin olup olmadığını (0) belirtir. @enabledtinyint'tir, varsayılan olarak .NULL

[ @description = ] N'description'

İşin tanımı. @descriptionnvarchar(512)'dir ve varsayılan olarak .NULL

[ @start_step_id = ] start_step_id

İş için ilk adımın kimlik numarası. @start_step_idint, varsayılan olarak .NULL

[ @category_name = ] N'category_name'

İşin kategorisi. @category_namesysname'dir, varsayılan olarak .NULL

[ @owner_login_name = ] N'owner_login_name'

İşin sahibi olan giriş girişinin adı. @owner_login_namesysname'dir ve varsayılan olarak .NULL Sadece sistem yöneticisi sabit sunucu rolündeki üyeler iş sahipliğini değiştirebilir.

[ @notify_level_eventlog = ] notify_level_eventlog

Bu iş için Microsoft Windows uygulama günlüğüne ne zaman bir giriş yerleştirileceğini belirtir. @notify_level_eventlogint'tir ve bu değerlerden biri olabilir.

Değer Tanım (aksiyon)
0 Hiç
1 Başarılı olduğunda
2 Hata durumunda
3 Her zaman

[ @notify_level_email = ] notify_level_email

Bu iş tamamlandıktan sonra e-posta gönderileceği zaman belirtilir. @notify_level_emailint, varsayılan olarak .NULL @notify_level_email@notify_level_eventlog ile aynı değerleri kullanır.

[ @notify_level_netsend = ] notify_level_netsend

Bu iş tamamlandığında ağ mesajının ne zaman gönderileceğini belirtir. @notify_level_netsendint, varsayılan olarak .NULL @notify_level_netsend@notify_level_eventlog ile aynı değerleri kullanır.

[ @notify_level_page = ] notify_level_page

Bu iş tamamlandıktan sonra bir sayfanın ne zaman gönderileceğini belirtir. @notify_level_pageint, varsayılan olarak .NULL @notify_level_page@notify_level_eventlog ile aynı değerleri kullanır.

[ @notify_email_operator_name = ] N'notify_email_operator_name'

email_level ulaşıldığında e-postanın gönderildiği operatörün adı. @notify_email_operator_namesysname'dir ve varsayılan olarak .NULL

[ @notify_netsend_operator_name = ] N'notify_netsend_operator_name'

Ağ mesajının gönderildiği operatörün adı. @notify_netsend_operator_namesysname'dir ve varsayılan olarak .NULL

[ @notify_page_operator_name = ] N'notify_page_operator_name'

Sayfanın gönderildiği operatörün adı. @notify_page_operator_namesysname'dir ve varsayılan olarak NULL.

[ @delete_level = ] delete_level

İşin ne zaman silineceğini belirtir. @delete_levelint, varsayılan olarak .NULL @delete_level , @notify_level_eventlog ile aynı değerleri kullanır.

[ @automatic_post = ] automatic_post

Yalnızca bilgilendirme amacıyla tanımlanır. Desteklenmiyor. Gelecekteki uyumluluk garanti edilmemektedir.

Dönüş kodu değerleri

0 (başarı) veya 1 (başarısızlık).

Açıklamalar

sp_update_job veritabanından msdb çalıştırılmalı olmalı.

sp_update_job yalnızca parametre değerlerinin sağlandığı ayarları değiştirir. Bir parametre atlanırsa, mevcut ayar korunur.

Bu saklanan prosedür, Azure SQL Veritabanı için Azure Elastic Jobs hizmeti için benzer bir nesneyle aynı adı paylaşırsp_update_job. Elastic Jobs versiyonu hakkında bilgi için bkz. jobs.sp_update_job (Azure Elastic Jobs) bölüm.

Permissions

EXECUTE Bu prosedür üzerinde izinler verebilirsiniz, ancak bu izinler SQL Server yükseltmesi sırasında geçersiz kalabilir.

Diğer kullanıcılara, veritabanındaki aşağıdaki sabit veritabanı rollerinden birine msdb sahip olmalıdır:

  • SQLAgentUserRole
  • SQLAgentReaderRole
  • SQLAgentOperatorRole

Bu rollerin izinleri hakkında detaylar için SQL Server Agent Fixed Database Roles bölümüne bakınız.

Yalnızca sistem yöneticisi üyeleri, diğer kullanıcıların sahip olduğu işlerin özelliklerini düzenlemek için bu saklanan prosedürü kullanabilir.

Örnekler

Aşağıdaki örnek, işin NightlyBackupsadı, tanımı ve etkin durumu olarak değiştirilir.

USE msdb;
GO

EXECUTE dbo.sp_update_job
    @job_name = N'NightlyBackups',
    @new_name = N'NightlyBackups -- Disabled',
    @description = N'Nightly backups disabled during server migration.',
    @enabled = 0;
GO