Not
Bu sayfaya erişim yetkilendirme gerektiriyor. Oturum açmayı veya dizinleri değiştirmeyi deneyebilirsiniz.
Bu sayfaya erişim yetkilendirme gerektiriyor. Dizinleri değiştirmeyi deneyebilirsiniz.
Şunlar için geçerlidir:SQL Server
Azure SQL Yönetilen Örneği
SQL Server Agent servisi tarafından yürütülen yeni bir iş oluşturur.
Transact-SQL söz dizimi kuralları
Önemli
Azure SQL Managed Instanceüzerinde, SQL Server Agent özelliklerinin çoğu şu anda desteklenmektedir fakat hepsi değil. Detaylar için Azure SQL Managed Instance T-SQL Differences with SQL Server sayfasına bakınız.
Sözdizimi
sp_add_job
[ @job_name = ] N'job_name'
[ , [ @enabled = ] enabled ]
[ , [ @description = ] N'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 ]
[ ; ]
Arguments
@job_name
İşin adı. İsim benzersiz olmalı ve yüzde (%) karakterini içermemelidir.
@job_namenvarchar(128)'dir ve varsayılan yoktur. Gerekli.
@enabled
Eklenen işin durumunu gösterir.
EtkinTinyint, varsayılan 1 olarak (etkin) olarak belirlenir. Eğer 0, iş etkin değildir ve programına göre çalışmaz; ancak manuel olarak çalıştırılabilir.
@description
İşin tanımı.
@descriptionnvarchar(512)'dir ve varsayılan olarak .NULL
@description atlanırsa, N'No description available' kullanılır.
@start_step_id
İş için ilk adımın kimlik numarası.
@start_step_idint, varsayılan olarak .1
@category_name
İş için kategori.
@category_namesysname'dir, varsayılan olarak .NULL
@category_id
Bir iş kategorisi belirtmek için dil bağımsız bir mekanizma.
@category_idint, varsayılan olarak .NULL
@owner_login_name
İşin sahibi olan giriş girişinin adı.
@owner_login_name, varsayılan olarak sysname'dirNULL ve mevcut giriş adı olarak yorumlanır. Yalnızca sistem yöneticisi sabit sunucu rolünün üyeleri @owner_login_name değerini ayarlayabilir veya değiştirebilir.
Sysadmin rol setine girmeyen veya @owner_login_name değerini değiştiren kullanıcılar bu saklanan prosedürün yürütülmesi başarısız olur ve hata döner.
@notify_level_eventlog
Bu iş için Microsoft Windows uygulama günlüğüne ne zaman bir giriş yerleştirileceğini gösteren bir değer. @notify_level_eventlogint'dir ve şu değerlerden biri olabilir:
| Değer | Description |
|---|---|
0 |
Hiç |
1 |
Başarılı olduğunda |
2 (varsayılan) |
Hata durumunda |
3 |
Her zaman |
@notify_level_email
Bu iş tamamlandıktan sonra e-posta göndermek için ne zaman gönderileceğini gösteren bir değer.
@notify_level_emailint'tir, varsayılan 0olarak , bu da asla' anlamına gelir.
@notify_level_email@notify_level_eventlog ile aynı değerleri kullanır.
@notify_level_netsend
Bu iş tamamlandığında ağ mesajı gönderileceğini gösteren bir değer.
@notify_level_netsendint'tir, varsayılan 0olarak , bu da asla' anlamına gelir.
@notify_level_netsend@notify_level_eventlog ile aynı değerleri kullanır.
@notify_level_page
Bu iş tamamlandıktan sonra sayfa gönderileceğini gösteren bir değerdir.
@notify_level_pageint'tir, varsayılan 0olarak , bu da asla' anlamına gelir.
@notify_level_page@notify_level_eventlog ile aynı değerleri kullanır.
@notify_email_operator_name
Ulaşıldığında e-posta göndereceği kişinin @notify_email_operator_name e-posta adı.
@notify_email_operator_namesysname'dir ve varsayılan olarak .NULL
@notify_netsend_operator_name
Bu iş tamamlandığında 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
Bu işi tamamladıktan sonra sayfa olarak iletecek kişinin adı.
@notify_page_operator_namesysname'dir ve varsayılan olarak NULL.
@delete_level
İşin ne zaman silineceğini gösteren bir değer.
delete_valueint, varsayılan 0olarak , yani asla.
@delete_level , @notify_level_eventlog ile aynı değerleri kullanır.
Uyarı
@delete_level3olduğunda, iş yalnızca bir kez yürütülür, iş için tanımlanan herhangi bir takvim ne olursa olsun. Ayrıca, bir iş kendini silerse, tüm iş geçmişi de silinir.
çıktıyı @job_id
Başarılı bir şekilde oluşturulursa işe atanan iş tanımlama numarası.
@job_id , benzersiz tanımlayıcı tipinde bir çıktı değişkenidir ve varsayılan olarak ' NULLdir.
Dönüş kodu değerleri
0 (başarı) veya 1 (başarısızlık).
Sonuç kümesi
Yok.
Açıklamalar
@originating_server içinde sp_add_jobvardır, ancak Argümanlar bölümünde listelenmemiştir.
@originating_server iç kullanım için ayrılmıştır.
Bir sp_add_job iş eklemek için yürütüldükten sonra, sp_add_jobstep iş için faaliyetleri gerçekleştiren adımları eklemek için kullanılabilir.
sp_add_jobschedule SQL Server Agent servisinin işi çalıştırmak için kullandığı programı oluşturmak için kullanılabilir.
İşin çalıştırıldığı SQL Server örneğini ayarlamak ve sp_delete_jobserver işi SQL Server örneğinden kaldırmak için kullanılırsp_add_jobserver. Eğer iş çoklu sunucu ortamında bir veya daha fazla hedef sunucuda çalışıyorsa, iş için hedef sunucuları veya hedef sunucu gruplarını ayarlamak için kullanın sp_apply_job_to_targets . Hedef sunuculardan veya hedef sunucu gruplarından işleri kaldırmak için sp_remove_job_from_targets.
Çoklu Sunucu Yönetimi (MSX/TSX) özelliği, Azure SQL Yönetilen Örnek'te desteklenmemektedir.
SQL Server Management Studio işleri yönetmek için kolay, grafik bir yol sağlar ve iş altyapısını oluşturmak ve yönetmek için önerilen yoldur.
Bu saklanan prosedür, Azure SQL Veritabanı için Azure Elastic Jobs hizmeti için benzer bir nesneyle aynı adı paylaşırsp_add_job. Elastic jobs versiyonu hakkında bilgi için jobs.sp_add_job (Azure Elastic Jobs) bölümüne bakınız.
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 sabit sunucu rolünün üyeleri @owner_login_name değerini ayarlayabilir veya değiştirebilir. Sysadmin rol setine girmeyen veya @owner_login_name değerini değiştiren kullanıcılar bu saklanan prosedürün yürütülmesi başarısız olur ve hata döner.
Örnekler
A. İş ekle
Bu örnek, . NightlyBackupsadlı yeni bir iş ekliyor.
USE msdb;
GO
EXECUTE dbo.sp_add_job @job_name = N'NightlyBackups';
GO
B. Pager, e-posta ve net gönderme bilgisi ile bir iş ekle
Bu örnek, iş başarısız olursa (pager, e-posta veya ağ açılır mesajı ile) bildirim veren ve başarılı tamamlandığında işi silen bir iş adlı Ad hoc Sales Data BackupFrançois Ajenstat bir iş oluşturur.
Uyarı
Bu örnek, bir operatör adlandırılmış François Ajenstat ve bir login adlı françoisa zaten var olduğunu varsayar.
USE msdb;
GO
EXECUTE 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
İlgili içerik
- 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_jobstep (Transact-SQL)
- sp_update_job (Transact-SQL)