Aracılığıyla paylaş


sp_add_job (Transact-sql)

SQLServerAgent hizmeti tarafından yürütülen yeni bir iş ekler.

Konu bağlantısı simgesi Transact-SQL Sözdizim Kuralları

Sözdizimi

sp_add_job [ @job_name = ] 'job_name'
     [ , [ @enabled = ] enabled ] 
     [ , [ @description = ] 'description' ] 
     [ , [ @start_step_id = ] step_id ] 
     [ , [ @category_name = ] 'category' ] 
     [ , [ @category_id = ] category_id ] 
     [ , [ @owner_login_name = ] 'login' ] 
     [ , [ @notify_level_eventlog = ] eventlog_level ] 
     [ , [ @notify_level_email = ] email_level ] 
     [ , [ @notify_level_netsend = ] netsend_level ] 
     [ , [ @notify_level_page = ] page_level ] 
     [ , [ @notify_email_operator_name = ] 'email_name' ] 
          [ , [ @notify_netsend_operator_name = ] 'netsend_name' ] 
     [ , [ @notify_page_operator_name = ] 'page_name' ] 
     [ , [ @delete_level = ] delete_level ] 
     [ , [ @job_id = ] job_id OUTPUT ] 

Bağımsız değişkenler

  • @job_name = 'job_name'
    Iş adı. Adı benzersiz olmalıdır ve yüzde içeremez (%) karakteri. job_nameise nvarchar(128), hiçbir varsayılan ile.

  • @enabled = enabled
    Eklenen iş durumunu gösterir. enabledise tinyint, 1 (etkin) varsayılan. Eğer 0, işi etkin değildir ve onun zamanlamaya göre; çalışmıyor Ancak, el ile çalıştırılabilir.

  • @ description = 'description'
    İşin açıklaması. descriptionise nvarchar(512), null varsayılan. Eğer descriptionatlanır, "Açıklama yok" kullanılır.

  • @ start_step_id = step_id
    Bu iş için yürütülecek ilk adımı tanımlama numarası. step_idise int, varsayılan olarak 1.

  • @ category_name = 'category'
    İş kategorisi. category* *ise sysname, null varsayılan.

  • @ category_id = category_id
    Proje kategori belirlemek için dilden bağımsız mekanizma. category_id* *ise int, null varsayılan.

  • @ owner_login_name = 'login'
    İş sahibi olan oturum açma adı. loginise sysname, null varsayılan ile hangi geçerli oturum açma adı olarak yorumlandığını. Yalnızca üyeleri sysadmin sabit sunucu rolü ayarlayabilir veya değerini değiştirmek @ owner_login_name. Eğer üye olmayan kullanıcılar, sysadmin rol ayarlamak veya değiştirmek @ owner_login_name, bu saklı yordamı yürütme başarısız olur ve bir hata döndürülür.

  • @ notify_level_eventlog = eventlog_level
    Ne zaman bu iş için Microsoft Windows uygulama günlüğüne bir giriş yer gösteren değer. eventlog_levelise int, ve bu değerlerden birini olabilir.

    Değer

    Açıklama

    0

    Asla

    1

    Başarı

    2 (varsayılan)

    Başarısızlık durumunda

    3

    Her zaman

  • @ notify_level_email = email_level
    Ne zaman bu işin tamamlanmasından sonra e-posta göndermek için gösteren bir değeri. email_levelise int, varsayılan 0, hangi gösterir asla. email_levelolarak aynı değerleri kullanır eventlog_level.

  • @ notify_level_netsend = netsend_level
    Bu işin tamamlanmasından sonra bir ağ iletisi göndermesine ne zaman belirten bir değer. netsend_levelise int, varsayılan 0, hangi gösterir asla. netsend_levelolarak aynı değerleri kullanır eventlog_level.

  • @ notify_level_page = page_level
    Ne zaman bu işin tamamlanmasından sonra sayfayı göndermek için gösteren bir değeri. page_levelise int, varsayılan 0, hangi gösterir asla. page_levelolarak aynı değerleri kullanır eventlog_level.

  • @ notify_email_operator_name = 'email_name'
    Ne zaman e-posta gönderilecek kişinin e-posta adı email_levelulaşılır. email_nameise sysname, null varsayılan.

  • @ notify_netsend_operator_name = 'netsend_name'
    Ağ iletisi bu işin tamamlanmasından sonra gönderildiği operatör adı. netsend_name* *ise sysname, null varsayılan.

  • @ notify_page_operator_name = 'page_name'
    Sayfa bu işin tamamlanmasından sonra kişinin adı. page_name* *ise sysname, null varsayılan.

  • @ delete_level = delete_level
    Ne zaman işi silmek için gösteren bir değeri. delete_valueise int, 0 varsayılan ile yani asla. delete_levelolarak aynı değerleri kullanır eventlog_level.

    [!NOT]

    Ne zaman delete_levelolan 3, işin yalnızca bir kez yürütülecek olan, ne olursa olsun tüm zamanlamaları iş için tanımlanmış. Ayrıca, bir işi kendisi silerse, tüm iş geçmişi de silinir.

  • @job_id = job_idOUTPUT
    İşini başarıyla oluşturduysanız, atanan iş tanımlama numarası. job_idbir çıkış değişken türü uniqueidentifier, null varsayılan.

Dönüş Kodu Değerleri

0 (başarılı) veya 1 (hata)

Sonuç Kümeleri

Hiçbiri

Açıklamalar

@ originating_server var sp_add_job, ama değişkenleri altında listelenmez. @ originating_server iç kullanım için ayrılmıştır.

Sonra sp_add_job bir iş eklemek için yürütülen sp_add_jobstep etkinlikleri gerçekleştirmek için iş adımları eklemek için kullanılabilir. sp_add_jobschedule kullanılabilir zamanlama oluşturmak SQL ServerAracısı hizmetini kullanan işi yürütecek. Kullanım sp_add_jobserver için SQL Serverburada işi yürütür, örnek ve sp_delete_jobserver işten çıkarmak için SQL Serverörneği.

İş üzerinde bir veya daha fazla hedef sunucu multiserver ortamında çalıştırır, kullanın sp_apply_job_to_targets veya hedef sunucu grupları iş için hedef sunucuları ayarlamak için. İşleri hedef sunucular veya hedef sunucu grupları kaldırmak için sp_remove_job_from_targets.

SQL Server Management Studioişleri yönetmek için kolay ve grafiksel bir yol sağlar ve oluşturmak ve iş altyapı yönetmek için önerilen yoldur.

İzinler

Bu saklı yordamı çalıştırmak için kullanıcıların bir üyesi olmanız sysadmin sabit sunucu rolü veya aşağıdakilerden birini verilmesi SQL ServerAgent bulunması veritabanı rolleri sabit msdb veritabanı:

  • SQLAgentUserRole

  • SQLAgentReaderRole

  • SQLAgentOperatorRole

Bunların her biri sabit ile ilişkili belirli izinler hakkında bilgi için veritabanı rolleri Bkz: SQL Server Agent veritabanı rolleri sabit.

Yalnızca üyeleri sysadmin sabit sunucu rolü ayarlayabilir veya değerini değiştirmek @ owner_login_name. Eğer üye olmayan kullanıcılar, sysadmin rol ayarlamak veya değiştirmek @ owner_login_name, bu saklı yordamı yürütme başarısız olur ve bir hata döndürülür.

Örnekler

A.Bir işi ekleme

Bu örnek, yeni bir iş adlı ekler NightlyBackups.

USE msdb ;
GO

EXEC dbo.sp_add_job
    @job_name = N'NightlyBackups' ;
GO

USE msdb ;
GO

EXEC dbo.sp_add_job
    @job_name = N'NightlyBackups' ;
GO

B.Çağrı cihazı ile bir iş eklemek, e-posta ve net bilgi göndermek

Bu örnek adında bir işi oluşturur Ad hoc Sales Data Backupbildirir, François Ajenstat(tarafından çağrı cihazı, e-posta veya ağ açılır ileti) işi başarısız olursa, işi başarıyla tamamlanmasından sonra siler.

[!NOT]

Bu örnek, bir operatör ismi varsayılmaktadır François Ajenstatadlı bir giriş françoisazaten mevcut.

USE msdb ;
GO

EXEC dbo.sp_add_job
    @job_name = N'Ad hoc Sales Data Backup', 
    @enabled = 1,
    @description = N'Ad hoc backup of sales data',
    @owner_login_name = N'françoisa',
    @notify_level_eventlog = 2,
    @notify_level_email = 2,
    @notify_level_netsend = 2,
    @notify_level_page = 2,
    @notify_email_operator_name = N'François Ajenstat',
    @notify_netsend_operator_name = N'François Ajenstat', 
    @notify_page_operator_name = N'François Ajenstat',
    @delete_level = 1 ;
GO

USE msdb ;
GO

EXEC dbo.sp_add_job
    @job_name = N'Ad hoc Sales Data Backup', 
    @enabled = 1,
    @description = N'Ad hoc backup of sales data',
    @owner_login_name = N'françoisa',
    @notify_level_eventlog = 2,
    @notify_level_email = 2,
    @notify_level_netsend = 2,
    @notify_level_page = 2,
    @notify_email_operator_name = N'François Ajenstat',
    @notify_netsend_operator_name = N'François Ajenstat', 
    @notify_page_operator_name = N'François Ajenstat',
    @delete_level = 1 ;
GO

Ayrıca bkz.

Başvuru

sp_add_schedule (Transact-sql)

sp_add_jobstep (Transact-sql)

sp_add_jobserver (Transact-sql)

sp_apply_job_to_targets (Transact-sql)

sp_delete_job (Transact-sql)

sp_delete_jobserver (Transact-sql)

sp_remove_job_from_targets (Transact-sql)

sp_help_job (Transact-sql)

sp_help_jobstepmsdb (Transact-sql)

sp_update_jobmsdb (Transact-sql)

Sistem saklı yordamları (Transact-sql)