sp_add_schedule (Transact-SQL)
İşleri herhangi bir sayı tarafından kullanılabilecek bir zamanlama planı oluşturur.
Sözdizimi
sp_add_schedule [ @schedule_name = ] 'schedule_name'
[ , [ @enabled = ] enabled ]
[ , [ @freq_type = ] freq_type ]
[ , [ @freq_interval = ] freq_interval ]
[ , [ @freq_subday_type = ] freq_subday_type ]
[ , [ @freq_subday_interval = ] freq_subday_interval ]
[ , [ @freq_relative_interval = ] freq_relative_interval ]
[ , [ @freq_recurrence_factor = ] freq_recurrence_factor ]
[ , [ @active_start_date = ] active_start_date ]
[ , [ @active_end_date = ] active_end_date ]
[ , [ @active_start_time = ] active_start_time ]
[ , [ @active_end_time = ] active_end_time ]
[ , [ @owner_login_name = ] 'owner_login_name' ]
[ , [ @schedule_uid = ] schedule_uid OUTPUT ]
[ , [ @schedule_id = ] schedule_id OUTPUT ]
[ , [ @originating_server = ] server_name ] /* internal */
Bağımsız değişkenler
[ @ schedule_name = ] 'schedule_name'
Zamanlama adı.schedule_nameİş sysname, ile hiçbir varsayılan.[ @ Etkin =] enabled
Zamanlamayı geçerli durumunu gösterir.enabledİş tinyint, varsayılan değer 1 (etkin).0, Zamanlamayı etkin değildir.Zamanlamayı etkin değilse, hiçbir iş bu zamanlamaya göre çalışır.[ @ freq_type = ] freq_type
Ne zaman yürütülecek bir iş olduğunu belirten bir değer.freq_typeİş int, varsayılan değer 0, ve bu değerlerden biri olabilir.Değer
Açıklama
1
Bir kez
4
Günlük
8
Haftalık
16
Aylık
32
Göreli olarak aylıkfreq_interval
64
SQLServerAgent hizmet başladığında Çalıştır
128
Bilgisayar boştayken çalıştırma
[ @ freq_interval = ] freq_interval
Bir iş yürütülen günler.freq_intervalİş int, varsayılan değer 1ve durumunun değerine bağlı freq_type.Değerifreq_type
Etkisifreq_interval
1 (kez)
freq_intervalkullanılmaz.
4 (Günlük)
Her freq_interval gün.
8 (haftalık)
freq_intervalbir veya daha fazlasını (ile veya mantıksal işleçile birleştirilmiş) aşağıdaki gibidir:
1 Pazar =
2 = Pazartesi
4 = Salı
8 Çarşamba =
16 = Perşembe
32 Cuma =
64 Cumartesi =
16 (aylık)
Üzerinde freq_interval gün ay.
32 (aylık göreli)
freq_intervalaşağıdakilerden biridir:
1 Pazar =
2 = Pazartesi
3 = Salı
4 Çarşamba =
5 = Perşembe
6 Cuma =
7 Cumartesi =
8 = Day
9 = İŞGÜNÜ
10 Hafta sonu =
64 (SQLServerAgent hizmet başlatıldığında)
freq_intervalkullanılmaz.
128
freq_intervalkullanılmaz.
[ @ freq_subday_type = ] freq_subday_type
İçin birimleri belirleyen freq_subday_interval.freq_subday_typeİş int, varsayılan değer 0, ve bu değerlerden biri olabilir.Değer
Açıklama (birim)
0x1
Belirli bir saat
0x2
Seconds
0x4
Minutes
0x8
Hours
[ @ freq_subday_interval = ] freq_subday_interval
Sayısı freq_subday_type her işarasında ortaya dönemi.freq_subday_intervalİş int, varsayılan değer 0.freq_subday_intervalBu gibi durumlarda göz ardı edilir nerede freq_subday_type eşittir 1.Not: Aralığı 10 saniyeden daha uzun olmalıdır.[ @ freq_relative_interval = ] freq_relative_interval
Bir işgeçtiği freq_interval her ay, freq_interval 32 (aylık göreli).freq_relative_intervalİş int, varsayılan değer 0, ve bu değerlerden biri olabilir.freq_relative_intervalBu gibi durumlarda göz ardı edilir nerede freq_type 32'ye eşit değil.Değer
Açıklama (birim)
1
First
2
İkinci
4
Üçüncü
8
Dördüncü
16
Last
[ @ freq_recurrence_factor = ] freq_recurrence_factor
Hafta veya zamanlanmış yürütme işarasındaki ay sayısı.freq_recurrence_factoris used only if freq_type is 8, 16, or 32.freq_recurrence_factorİş int, varsayılan değer 0.[ @ active_start_date = ] active_start_date
iş yürütme başlamak tarih .active_start_dateİş int, null varsayılan ile bugünün tarihbelirtir,.tarih YYYYAAGG biçimlendirilir.active_start_date null değil tarih 19900101 eşit veya büyük olmalıdır.Zamanlamayı oluşturulduktan sonra Başlangıç tarih gözden geçirin ve doğru tariholduğunu doğrulayın.Daha fazla bilgi için "Başlangıç tarihi planlama" bölümüne bakın. in Oluşturma ve işleri için Çizelgeler ekleme.
[ @ active_end_date = ] active_end_date
Bir iş yürütülmesini durdurmak tarih .active_end_dateİş int, varsayılan değer 99991231, hangi gösterir 31 Aralık 9999'a kadar.YYYYAAGG biçimlendirilmiş.[ @ active_start_time = ] active_start_time
' % S'saat saat arasında herhangi bir gün active_start_date ve active_end_date işyürütme başlamak için.active_start_timeİş int, varsayılan değer 000000, 12:00: 00'da gösterirbir 24 saatlik zaman ve SSDDSS formunu kullanarak girilmelidir.[ @ active_end_time = ] active_end_time
' % S'saat saat arasında herhangi bir gün active_start_date ve active_end_date Son yürütülmesine iş.active_end_timeis int, with a default of 235959, which indicates 11:59:59 P.M.bir 24 saatlik zaman ve SSDDSS formunu kullanarak girilmelidir.[ @ owner_login_name=] 'owner_login_name'
Zamanlamayı sahibi olan sunucu asıl adı.owner_login_nameİş sysname, varsayılan değer null, hangi gösterir olduğunu zamanlamayı sahibi tarafından creator.[ @ schedule_uid=] schedule_uidÇıkış
Zamanlama için benzersiz bir tanımlayıcı.schedule_uidtüründe bir değişken olan uniqueidentifier.[ @ schedule_id=] schedule_idÇıkış
Zamanlama için tanımlayıcı.schedule_idtüründe bir değişken olan int.[ @ originating_server=] server_name
Yalnızca bilgi amaçlı olarak belirtilmiştir. Desteklenmez. Gelecekteki uyumluluk garanti edilmez.
Dönüş Kodu Değerleri
0 (başarılı) veya 1 (başarısız)
Sonuç Kümeleri
Hiçbiri
Açıklamalar
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
Varsayılan olarak, üye sysadmin sabit sunucu rolü olabilir yürütmek bu saklı yordam.Diğer kullanıcıların aşağıdakilerden birini verilmelidir SQL Server Agent veritabanı rolleri sabit msdb veritabanı:
SQLAgentUserRole
SQLAgentReaderRole
SQLAgentOperatorRole
Bu roller, izinler hakkında daha fazla bilgi için bkz: SQL Server Agent veritabanı rolleri sabit.
Örnekler
A.Zamanlama oluşturma
Aşağıdaki örnek adlı bir zamanlama planı oluşturur RunOnce.Bir saatÇizelgesi çalışan 23:30 zamanlamayı oluşturulan bir gün.
USE msdb ;
GO
EXEC dbo.sp_add_schedule
@schedule_name = N'RunOnce',
@freq_type = 1,
@active_start_time = 233000 ;
GO
B.Birden çok işleri zamanlamayı iliştirme zamanlama, oluşturma
Aşağıdaki örnek adlı bir zamanlama planı oluşturur NightlyJobs.Bunu kullanın işleri zamanlama yürütmek sunucudaki saat olduğunda her gün 01:00.Örnek işzamanlamaya eklerBackupDatabase ve iş RunReports.
Not
Bu örnek varsayar iş BackupDatabase ve iş RunReports zaten mevcut.
USE msdb ;
GO
EXEC sp_add_schedule
@schedule_name = N'NightlyJobs' ,
@freq_type = 4,
@freq_interval = 1,
@active_start_time = 010000 ;
GO
EXEC sp_attach_schedule
@job_name = N'BackupDatabase',
@schedule_name = N'NightlyJobs' ;
GO
EXEC sp_attach_schedule
@job_name = N'RunReports',
@schedule_name = N'NightlyJobs' ;
GO
Ayrıca bkz.