Aracılığıyla paylaş


sp_add_schedule (Transact-SQL)

İşleri herhangi bir sayı tarafından kullanılabilecek bir zamanlama planı oluşturur.

Konu bağlantısı simgesiTransact-SQL sözdizimi 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_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