sp_add_schedule (Transact-sql)
İşleri herhangi bir sayı tarafından kullanılabilecek bir zamanlama planı oluşturur.
Transact-SQL Sözdizim Kuralları
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_nameise sysname, hiçbir varsayılan ile.@enabled = enabled
Zamanlamayı geçerli durumunu gösterir. enabledise tinyint, varsayılan 1 (etkin). Eğer 0, zamanlamayı etkin değildir. Zamanlamayı etkin değildir, hiçbir iş bu programı çalışır.@freq_type = freq_type
Ne zaman yürütülecek bir iş olduğunu belirten değer. freq_typeise int, varsayılan 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 hizmeti başladığında Çalıştır
128
Bilgisayar boştayken çalıştırma
@ freq_interval = freq_interval
Bir iş yürütülecek olan günler. freq_intervalise int, varsayılan 1ve değerine bağlı freq_type.Değerifreq_type
Etkisifreq_interval
1 (bir kez)
freq_intervalkullanılmaz.
4 (günlük)
Her freq_intervalgün.
8 (haftalık)
freq_intervalbir veya daha fazla (veya mantıksal işleci ile birleştirilmiş) aşağıda verilmiştir:
1 Pazar =
2 = Pazartesi
4 = Salı
8 Çarşamba =
16 = Perşembe
32 Cuma =
64 Cumartesi =
16 (aylık)
Tarih freq_intervalay gün.
32 (aylık göreli)
freq_intervalaşağıdakilerden biri olur:
1 Pazar =
2 = Pazartesi
3 = Salı
4 Çarşamba =
5 = Perşembe
6 Cuma =
7 Cumartesi =
8 = Day
9 Hafta içi =
10 Hafta sonu gün =
64 (SQLServerAgent hizmeti 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_typeise int, varsayılan 0, ve bu değerlerden biri olabilir.Değer
Açıklama (adet)
0x1
Belirtilen zamanda
0x2
Seconds
0x4
Minutes
0x8
Hours
@ freq_subday_interval = freq_subday_interval
Sayısı freq_subday_typeher bir iş yürütme arasında gerçekleşmesi için dönemleri. freq_subday_intervalise int, varsayılan 0. Not: Aralık 10 saniyeden daha uzun olmalıdır. freq_subday_intervalBu gibi durumlarda göz ardı edilir nerede freq_subday_typeeşittir 1.@ freq_relative_interval = freq_relative_interval
Bir projenin oluşumu freq_intervalher ay, freq_interval(aylık göreli) nedir. freq_relative_intervalise int, varsayılan 0, ve bu değerlerden biri olabilir. freq_relative_intervalBu gibi durumlarda göz ardı edilir nerede freq_type32'ye eşit değil.Değer
Açıklama (adet)
1
First
2
İkinci
4
Üçüncü
8
Dördüncü
16
Last
@ freq_recurrence_factor = freq_recurrence_factor
Hafta veya ay arasında bir işi zamanlanmış yürütme sayısı. freq_recurrence_factoris used only if freq_type is 8, 16, or 32. freq_recurrence_factorise int, varsayılan 0.@ active_start_date = active_start_date
Bir iş yürütme Başlayabileceğiniz Tarih. active_start_dateise int, null varsayılan ile hangi gösterir bugünün tarihi. Tarih YYYYMMDD'nın biçimlendirilmiş. Eğer active_start_dateIs not null, 19900101 eşit veya daha büyük olmalıdır.Zamanlamayı oluşturulduktan sonra başlangıç tarihini gözden geçirin ve doğru tarih olduğunu onaylayın. Daha fazla bilgi için bkz: "Zamanlama başlangıç tarihi" bölümü in Yaratma ve zamanlamaları işleri.
@ active_end_date = active_end_date
Hangi-ebilmek durmak bir iş yürütme tarih. active_end_dateise int, varsayılan 99991231, hangi gösterir 31 Aralık 9999. YYYYMMDD'nın biçimlendirilmiş.@ active_start_time = active_start_time
Herhangi bir gün arasında zaman active_start_dateve active_end_datebir iş yürütme başlamak için. active_start_timeise int, varsayılan 000000, hangi gösterir 12: 00: 00 a.m. 24 saatlik zaman ve SSDDSS formu kullanarak girilmelidir.@ active_end_time = active_end_time
Herhangi bir gün arasında zaman active_start_dateve active_end_dateson yürütme işinin. active_end_timeise int, varsayılan 235959, hangi gösterir 11: 59: 59 p.m. 24 saatlik zaman ve SSDDSS formu kullanarak girilmelidir.@ owner_login_name=] 'owner_login_name'
Zamanlamayı sahibi olan sunucu asıl adı. owner_login_nameise sysname, null varsayılan ile hangi gösterir zamanlamayı oluşturan kişi tarafından sahip olunan.@ schedule_uid=] schedule_uidOUTPUT
Zamanlama için benzersiz tanımlayıcı. schedule_uiddeğişken türü uniqueidentifier.@ schedule_id=] schedule_idOUTPUT
Zamanlama için tanımlayıcı. schedule_iddeğişken türü 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 (hata)
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ü bu saklı yordam yürütebilirsiniz. Diğer kullanıcıların aşağıdakilerden birini verilmesi gereken SQL ServerAgent veritabanı rolleri sabit msdb veritabanı:
SQLAgentUserRole
SQLAgentReaderRole
SQLAgentOperatorRole
Bu rolleri izinleri 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 kez çalışır zamanlama 23:30zamanlamayı oluşturulduğu gün.
USE msdb ;
GO
EXEC dbo.sp_add_schedule
@schedule_name = N'RunOnce',
@freq_type = 1,
@active_start_time = 233000 ;
GO
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. Bu zamanlamayı kullan işleri Yürütme sunucudaki zamanı geldiğinde her gün 01:00. Örnek zamanlamayı işine verdiği BackupDatabaseve iş RunReports.
[!NOT]
Bu örnek varsayar iş BackupDatabaseve iş RunReportszaten 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
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.
Başvuru
SQL Server Agent depolanan yordamlar (Transact-sql)
sp_add_jobschedule (Transact-sql)
Sp_update_schedule (Transact-sql)
sp_delete_schedule (Transact-sql)
sp_help_schedule (Transact-sql)
sp_attach_schedule (Transact-sql)