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ı simgesi 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)

Kavramlar

Yaratma ve zamanlamaları işleri

Bir iş zamanlamak

Zamanlama oluşturmak