Not
Bu sayfaya erişim yetkilendirme gerektiriyor. Oturum açmayı veya dizinleri değiştirmeyi deneyebilirsiniz.
Bu sayfaya erişim yetkilendirme gerektiriyor. Dizinleri değiştirmeyi deneyebilirsiniz.
Şunlar için geçerlidir:SQL Server
Azure SQL Yönetilen Örneği
Herhangi bir sayıda iş tarafından kullanılabilecek bir zamanlama oluşturur.
Transact-SQL söz dizimi 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 */
[ ; ]
Tartışmalar
@schedule_name [ = ] 'schedule_name'
Zamanlamanın adı. @schedule_namesysname'dir ve varsayılan değer yoktur.
[ @enabled = ] etkin
Zamanlamanın geçerli durumunu gösterir.
@enabled, varsayılan değeri (etkin) olan 1. ise 0, zamanlama etkinleştirilmez. Zamanlama etkinleştirilmediğinde, bu zamanlamada hiçbir iş çalıştırılamaz.
@freq_type [ = ] freq_type
bir işin ne zaman yürütülecek olduğunu gösteren değer.
@freq_type, varsayılan değeri olan 0 değeridir ve bu değerlerden biri olabilir.
| Değer | Açıklama |
|---|---|
1 |
Bir kez |
4 |
Günlük |
8 |
Haftalık |
16 |
Aylık |
32 |
Aylık, @freq_interval göre |
64 |
SQL Server Agent hizmeti başlatıldığında çalıştır |
128 |
Bilgisayar boşta olduğunda komutunu çalıştırın ( Azure SQL Yönetilen Örneği'nde desteklenmez) |
@freq_interval [ = ] @freq_interval
bir işin yürütülürken olduğu günler.
@freq_interval, varsayılan değeri ile 1 ve @freq_type değerine bağlıdır.
| @freq_type değeri | @freq_interval etkisi |
|---|---|
1 (bir kez) |
@freq_interval kullanılmamış. |
4 (günlük) |
Her @freq_interval günde bir. |
8 (haftalık) |
@freq_interval aşağıdakilerden biri veya daha fazlasıdır (mantıksal işleçle birlikte OR ):1 = Pazar2 = Pazartesi4 = Salı8 = Çarşamba16 = Perşembe32 = Cuma64 = Cumartesi |
16 (aylık) |
Ayın @freq_interval gününde. |
32 (aylık göreli) |
@freq_interval aşağıdakilerden biridir:1 = Pazar2 = Pazartesi3 = Salı4 = Çarşamba5 = Perşembe6 = Cuma7 = Cumartesi8 = Gün9 = Hafta içi10 = Hafta sonu günü |
64 (SQLServerAgent hizmeti başlatıldığında) |
@freq_interval kullanılmamış. |
128 |
@freq_interval kullanılmamış. |
@freq_subday_type [ = ] freq_subday_type
@freq_subday_interval birimlerini belirtir.
@freq_subday_type, varsayılan değeri olan 0 değeridir ve bu değerlerden biri olabilir.
| Değer | Açıklama (birim) |
|---|---|
1 |
Belirtilen zamanda |
2 |
Saniye |
4 |
Toplantı Tutanağı |
8 |
Saat |
@freq_subday_interval [ = ] freq_subday_interval
bir işin her yürütülmesi arasında gerçekleşecek @freq_subday_type dönem sayısı.
@freq_subday_interval, varsayılan değeri olan int'tir0. Aralık en az 10 saniye uzunluğunda olmalıdır.
@freq_subday_type eşit olduğu durumlarda 1 yoksayılır.
@freq_relative_interval [ = ] freq_relative_interval
@freq_interval 32 (aylık göreli) ise bir işin her ay @freq_interval oluşumu.
@freq_relative_interval, varsayılan değeri olan 0 değeridir ve bu değerlerden biri olabilir.
@freq_type 32'ye eşit olmadığı durumlarda @freq_relative_interval yoksayılır.
| Değer | Açıklama (birim) |
|---|---|
1 |
İlk |
2 |
İkinci |
4 |
Üçüncü |
8 |
Dördüncü |
16 |
Son |
@freq_recurrence_factor [ = ] freq_recurrence_factor
Bir işin zamanlanmış yürütülmesi arasındaki hafta veya ay sayısı.
@freq_recurrence_factor yalnızca @freq_type , 8veya 16ise 32kullanılır.
@freq_recurrence_factor, varsayılan değeri olan int'tir0.
@active_start_date [ = ] active_start_date
bir işin yürütülmesinin başlatıldığı tarih.
@active_start_date, bugünün tarihini gösteren varsayılan değeriyle NULL. Tarih olarak yyyyMMddbiçimlendirilir.
@active_start_date değilseNULL, tarih 19900101'den büyük veya buna eşit olmalıdır.
Zamanlama oluşturulduktan sonra başlangıç tarihini gözden geçirin ve doğru tarih olduğunu onaylayın. Daha fazla bilgi için, İşlere Zamanlama Oluşturma ve Ekleme bölümündeki "Zamanlama Başlangıç Tarihi" bölümüne bakın.
Haftalık veya aylık zamanlamalar için Aracı, @active_start_date geçmişte olup olmadığını yoksayar ve bunun yerine geçerli tarihi kullanır. Kullanılarak sp_add_schedule bir SQL Server Aracısı zamanlaması oluşturulduğunda, iş yürütmenin başladığı tarih olan @active_start_date parametresini belirtme seçeneği vardır. Zamanlama türü haftalık veya aylık ise ve @active_start_date parametresi geçmişteki bir tarihe ayarlanmışsa , @active_start_date parametresi yoksayılır ve geçerli tarih @active_start_date için kullanılır.
@active_end_date [ = ] active_end_date
bir işin yürütülmesinin durdurulabileceği tarih.
@active_end_date, varsayılan değeri 31 Aralık 9999 olan 99991231. olarak yyyyMMddbiçimlendirildi.
@active_start_time [ = ] active_start_time
bir işin yürütülmesine başlamak için @active_start_date ile @active_end_date arasındaki herhangi bir günün saati.
@active_start_time, 24 saatlik bir saat üzerinde 12:00:00:00'ı gösteren varsayılan değeriyle 000000 ve formu HHmmsskullanılarak girilmelidir.
@active_end_time [ = ] active_end_time
bir işin yürütülmesini sonlandırmak için @active_start_date ile @active_end_date arasındaki herhangi bir günün saati.
@active_end_time, 24 saatlik bir saat üzerinde 23:59:59'i gösteren varsayılan değeriyle 235959 ve formu HHmmsskullanılarak girilmelidir.
@owner_login_name [ = ] 'owner_login_name'
Zamanlamaya sahip olan sunucu sorumlusunun adı.
@owner_login_namesysname değeridir ve varsayılan değeri NULL, zamanlamanın oluşturucuya ait olduğunu gösterir.
[ @schedule_uid = ] schedule_uid ÇıKıŞ
Zamanlama için benzersiz bir tanımlayıcı. @schedule_uid, uniqueidentifier türünde bir değişkendir.
[ @schedule_id = ] schedule_id ÇıKıŞ
Zamanlamanın tanımlayıcısı. @schedule_id, int türünün bir değişkenidir.
@originating_server [ = ] server_name
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).
Sonuç kümesi
Yok.
Açıklamalar
SQL Server Management Studio işleri yönetmek için kolay, grafik bir yol sağlar ve iş altyapısını oluşturmak ve yönetmek için önerilen yoldur.
İzinler
Bu yordamda EXECUTE izinler vekleyebilirsiniz, ancak bu izinler SQL Server yükseltmesi sırasında geçersiz kılınabilir.
Diğer kullanıcılara msdb veritabanında aşağıdaki SQL Server Aracısı sabit veritabanı rollerinden biri verilmelidir:
- SQLAgentUserRole
- SQLAgentReaderRole
- SQLAgentOperatorRole
Bu rollerin izinleri hakkında ayrıntılı bilgi için bkz. SQL Server Agent Sabit Veritabanı Rolleri.
Örnekler
A. Bir zamanlama oluşturma
Aşağıdaki örnek adlı RunOncebir zamanlama oluşturur. Zamanlama, 23:30 zamanlamanın oluşturulduğu günde bir kez çalışır.
USE msdb;
GO
EXECUTE dbo.sp_add_schedule
@schedule_name = N'RunOnce',
@freq_type = 1,
@active_start_time = 233000;
GO
B. Zamanlama oluşturma, zamanlamayı birden çok işe ekleme
Aşağıdaki örnek adlı NightlyJobsbir zamanlama oluşturur. Bu zamanlamayı kullanan işler, sunucudaki 01:00zaman olduğunda her gün yürütülür. Örnek, zamanlamayı işe ve işe BackupDatabaseRunReportsekler.
Uyarı
Bu örnekte işin ve BackupDatabase işin RunReports zaten var olduğu varsayılır.
USE msdb;
GO
EXECUTE sp_add_schedule
@schedule_name = N'NightlyJobs',
@freq_type = 4,
@freq_interval = 1,
@active_start_time = 010000;
GO
EXECUTE sp_attach_schedule
@job_name = N'BackupDatabase',
@schedule_name = N'NightlyJobs';
GO
EXECUTE sp_attach_schedule
@job_name = N'RunReports',
@schedule_name = N'NightlyJobs';
GO
İlgili içerik
- İşlere Takvim Oluşturma ve Ekleme
- Bir İş Planla
- Program Oluştur
- SQL Server Agent saklı yordamlarını (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)