Aracılığıyla paylaş


sp_update_schedule (Transact-SQL)

Şunlar için geçerlidir: SQL Server

SQL Server Agent zamanlaması için ayarları değiştirir.

Transact-SQL söz dizimi kuralları

Sözdizimi

sp_update_schedule
    [ [ @schedule_id = ] schedule_id ]
    [ , [ @name = ] N'name' ]
    [ , [ @new_name = ] N'new_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 = ] N'owner_login_name' ]
    [ , [ @automatic_post = ] automatic_post ]
[ ; ]

Arguments

[ @schedule_id = ] schedule_id

Değiştirilecek takvimin tanımlayıcısı. @schedule_idint, varsayılan olarak NULL.

Ya @schedule_id ya da @name belirtilmelidir.

[ @name = ] ‘name

Değiştirilecek programın adı. @namesysname'dir, varsayılan olarak .NULL

Ya @schedule_id ya da @name belirtilmelidir.

[ @new_name = ] N'new_name'

Programın yeni adı. @new_namesysname'dir ve varsayılan olarak .NULL @new_nameNULLolduğunda ise programın adı değişmez.

[ @enabled = ] etkinleştirildi

Programın mevcut durumunu gösterir. @enabledtinyint, varsayılan 1 olarak (etkinleştirilmiş) olarak belirlenmiştir. Eğer 0, program etkinleştirilmiyor. Program etkinleştirilmediğinde, bu programda hiçbir iş çalışmaz.

[ @freq_type = ] freq_type

Bir işin ne zaman yürütüleceğini gösteren bir değer. @freq_typeint'tir ve bu değerlerden biri olabilir.

Değer Description
1 Bir kez
4 Günlük
8 Weekly
16 Monthly
32 Aylık, @freq_interval
64 SQL Server Agent hizmeti başladığında çalıştır
128 Bilgisayar boş durduğunda çalıştır

[ @freq_interval = ] freq_interval

Bir işin yapıldığı günler. @freq_intervalint'tir, varsayılan olarak 0, ve aşağıdaki tabloda belirtildiği gibi @freq_type değerine bağlıdır:

Değer @freq_type Etkisi @freq_interval
1 (bir kez) @freq_interval kullanılmıyor.
4 (günlük) Her @freq_interval günde bir.
8 (haftalık) @freq_interval , aşağıdakilerden biri veya birkaçındır (mantıksal bir OR operatörle birleşir):

1 = Pazar
2 = Pazartesi
4 = Salı
8 = Çarşamba
16 = Perşembe
32 = Cuma
64 = Cumartesi
16 (aylık) Ayın @freq_interval gününde.
32 (aylık akraba) @freq_interval aşağıdakilerden biridir:

1 = Pazar
2 = Pazartesi
3 = Salı
4 = Çarşamba
5 = Perşembe
6 = Cuma
7 = Cumartesi
8 = Gün
9 = Hafta içi
10 = Hafta sonu günü
64 (SQL Server Agent servisi başladığında) @freq_interval kullanılmıyor.
128 @freq_interval kullanılmıyor.

[ @freq_subday_type = ] freq_subday_type

@freq_subday_interval için birimleri belirtir. @freq_subday_typeint'dir ve bu değerlerden biri olabilir.

Değer Tanım (birim)
1 Belirtilen zamanda
2 Saniye
4 Minutes
8 Hours

[ @freq_subday_interval = ] freq_subday_interval

Her iş yürütmesi arasında gerçekleşecek @freq_subday_type dönem sayısı. @freq_subday_intervalint, varsayılan olarak .0

[ @freq_relative_interval = ] freq_relative_interval

Ayrıca, @freq_type32 (aylık aklaba) olarak ayarlandığında @freq_interval daha da tanımlanır.

@freq_relative_intervalint'dir ve bu değerlerden biri olabilir.

Değer Tanım (birim)
1 First
2 Second
4 Third
8 Fourth
16 Son

@freq_relative_interval aralığın oluşunu. Örneğin, @freq_relative_interval2ayarlıysa, @freq_type , 32@freq_interval3ise , olarak ayarlanmışsa, planlanmış iş her ayın ikinci Salı günü gerçekleşir.

[ @freq_recurrence_factor = ] freq_recurrence_factor

Planlanan bir işin yürütülmesi arasındaki hafta veya ay sayısı. @freq_recurrence_factorint, varsayılan olarak 0. @freq_recurrence_factor yalnızca @freq_type , 16, veya 32'ye ayarlandığında 8kullanılır.

[ @active_start_date = ] active_start_date

İşin yürütülmeye başlayacağı tarih. @active_start_dateint, varsayılan olarak .NULL Tarih olarak biçimlendirilmiştir yyyyMMdd. Eğer @active_start_date ayarlanmışsa, tarih daha büyük veya eşit 19900101olmalıdır.

Program oluşturulduktan sonra başlangıç tarihini gözden geçirin ve doğru tarih olduğundan emin olun. Daha fazla bilgi için, İşler Programları Oluştur ve Ekleyerek Çalışma bölümünde "Başlama Tarihini Planlama" bölümüne bakınız.

[ @active_end_date = ] active_end_date

İşin hangi yürütülmesinin durabileceği tarih. @active_end_dateint, varsayılan olarak .99991231 Tarih olarak biçimlendirilmiştir yyyyMMdd.

[ @active_start_time = ] active_start_time

İşin yürütülmeye başlaması için @active_start_date ile @active_end_date arasındaki herhangi bir gün. @active_start_timeint'tir, varsayılan olarak 000000. Saat, 24 saatlik bir saat biçimlendirilmiştir HHmmss .

[ @active_end_time = ] active_end_time

İşin sona ermesi active_start_date ile @active_end_date arasındaki herhangi bir gün. @active_end_timeint, varsayılan olarak .235959 Saat, 24 saatlik bir saat biçimlendirilmiştir HHmmss .

[ @owner_login_name = ] N'owner_login_name'

Programın sahibi sunucu yöneticisinin adı. @owner_login_namesysname'dir, varsayılan NULLolarak , bu da çizimin yaratıcıya ait olduğunu gösterir.

[ @automatic_post = ] automatic_post

Yalnızca bilgilendirme amacıyla tanımlanır. Desteklenmiyor. Gelecekteki uyumluluk garanti edilmemektedir.

Dönüş kodu değerleri

0 (başarı) veya 1 (başarısızlık).

Açıklamalar

Programı kullanan tüm işler hemen yeni ayarları kullanıyor. Ancak, bir programı değiştirmek, şu anda devam eden işleri durdurmaz.

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.

Sadece sistem yöneticisi üyeleri başka bir kullanıcıya ait bir programı değiştirebilir.

Örnekler

Aşağıdaki örnek, takvimin NightlyJobs etkin durumunu değiştirir 0 ve sahibini olarak ayarlar terrid.

USE msdb;
GO

EXECUTE dbo.sp_update_schedule
    @name = 'NightlyJobs',
    @enabled = 0,
    @owner_login_name = 'terrid';
GO