Udostępnij za pomocą


sp_add_jobschedule (Transact-SQL)

Dotyczy:SQL ServerAzure SQL Managed Instance

Tworzy harmonogram dla zadania SQL Server Agent.

Transact-SQL konwencje składni

Ważne

Na platformie Azure SQL Managed Instance obecnie obsługiwana jest większość funkcji agenta programu SQL Server, ale nie wszystkie. Zobacz różnice Azure SQL Managed Instance T-SQL w porównaniu do SQL Server dla szczegółów.

Składnia

sp_add_jobschedule
    [ [ @job_id = ] 'job_id' ]
    [ , [ @job_name = ] N'job_name' ]
    , [ @name = ] N'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 ]
    [ , [ @schedule_id = ] schedule_id OUTPUT ]
    [ , [ @automatic_post = ] automatic_post ]
    [ , [ @schedule_uid = ] 'schedule_uid' OUTPUT ]
[ ; ]

Arguments

[ @job_id = ] 'job_id'

Numer identyfikacyjny stanowiska pracy, do której dodano harmonogram. @job_id jest unikalnym identyfikatorem, z domyślnym .NULL

Albo @job_id , albo @job_name muszą być określone, ale obie nie mogą być określone.

[ @job_name = ] N'job_name'

Nazwa stanowiska, do którego dodano harmonogram. @job_name to nazwa systemu, z domyślnym .NULL

Albo @job_id , albo @job_name muszą być określone, ale obie nie mogą być określone.

[ @name = ] N'imię'

Nazwa harmonogramu. @name to nazwa sysname, bez domyślnego ustawienia.

[ @enabled = ] włączone

Wskazuje aktualny status rozkładu. @enabled jest tinyint, z domyślnym ( 1 włączonym). Jeśli 0, harmonogram nie jest włączony. Gdy harmonogram jest wyłączony, zadanie nie jest uruchamiane.

[ @freq_type = ] freq_type

Wartość wskazująca, kiedy zadanie ma zostać wykonane. @freq_type to int i może być jedną z następujących wartości:

Wartość Description
1 Raz
4 Codziennie
8 Weekly
16 Monthly
32 Miesięcznie, w stosunku do @freq_interval.
64 Uruchom po uruchomieniu usługi SQL Server Agent.
128 Uruchamiaj, gdy komputer jest bezczynny.

[ @freq_interval = ] freq_interval

W dniu, w którym praca zostanie wykonana. @freq_interval jest int, z domyślnym , 0i zależy od wartości @freq_type wskazanej w następującej tabeli:

Wartość @freq_type Wpływ na @freq_interval
1 (raz) @freq_interval jest nieużywana.
4 (codziennie) Co @freq_interval dni.
8 (tygodniowo) @freq_interval jest jednym lub więcej z następujących (połączonych z operatorem OR logicznym):

1 = Niedziela
2 = Poniedziałek
4 = Wtorek
8 = Środa
16 = Czwartek
32 = Piątek
64 = Sobota
16 (miesięcznie) W @freq_interval dnia miesiąca.
32 (miesięczny krewny) @freq_interval jest jednym z następujących typów:

1 = Niedziela
2 = Poniedziałek
3 = Wtorek
4 = Środa
5 = Czwartek
6 = Piątek
7 = Sobota
8 = Dzień
9 = Dzień powszednie
10 = Dzień weekendowy
64 (gdy uruchamia się usługa SQL Server Agent) @freq_interval jest nieużywana.
128 @freq_interval jest nieużywana.

[ @freq_subday_type = ] freq_subday_type

Określa jednostki dla @freq_subday_interval. @freq_subday_type jest int i może być jedną z tych wartości:

Wartość Opis (jednostka)
1 W wyznaczonym czasie
2 Sekundy
4 Minutes
8 Godziny

[ @freq_subday_interval = ] freq_subday_interval

Liczba @freq_subday_type okresów pomiędzy każdym wykonaniem zadania. @freq_subday_interval jest int, z domyślnym .0

[ @freq_relative_interval = ] freq_relative_interval

Dalej definiuje @freq_interval , gdy @freq_type jest ustawione na 32 (miesięczny relatyw).

@freq_relative_interval jest int i może być jedną z tych wartości:

Wartość Opis (jednostka)
1 First
2 sekunda
4 Third
8 Fourth
16 Ostatni

@freq_relative_interval wskazuje wystąpienie interwału. Na przykład, jeśli @freq_relative_interval jest ustawione na 2, @freq_type na 32, a @freq_interval na 3, zaplanowane zadanie odbędzie się w drugi wtorek każdego miesiąca.

[ @freq_recurrence_factor = ] freq_recurrence_factor

Liczba tygodni lub miesięcy między planowanym wykonaniem zadania. @freq_recurrence_factor jest int, z domyślnym .0 @freq_recurrence_factor jest używany tylko wtedy, gdy @freq_type jest ustawione na , 816, lub 32.

[ @active_start_date = ] active_start_date

Data, w której może rozpocząć się realizacja zadania. @active_start_date jest int, z domyślnym .NULL Data jest sformatowana jako yyyyMMdd. Jeśli @active_start_date jest ustawione, data musi być większa lub równa .19900101

Po utworzeniu harmonogramu przejrzyj datę rozpoczęcia i popewnij, że jest to właściwa data. Więcej informacji można znaleźć w sekcji "Planowanie daty rozpoczęcia" w sekcji Tworzenie i dołączanie harmonogramów do zadań.

[ @active_end_date = ] active_end_date

Data, w której wykonywanie pracy może się zakończyć. @active_end_date jest int, z domyślnym .99991231 Data jest sformatowana jako yyyyMMdd.

[ @active_start_time = ] active_start_time

Czas w dowolnym dniu między @active_start_date a @active_end_date na rozpoczęcie wykonywania pracy. @active_start_time jest int, z domyślnym .000000 Czas jest sformatowany jako HHmmss 24-godzinny.

[ @active_end_time = ] active_end_time

Czas w każdy dzień między active_start_date a @active_end_date na zakończenie wykonania pracy. @active_end_time jest int, z domyślnym obciążeniem 235959. Czas jest sformatowany jako HHmmss 24-godzinny.

[ @schedule_id = ] schedule_id WYJŚCIE

Numer identyfikacyjny harmonogramu przypisany do harmonogramu, jeśli został pomyślnie utworzony. @schedule_id jest parametrem OUTPUT typu int.

[ @automatic_post = ] automatic_post

Zidentyfikowane tylko do celów informacyjnych. Niewspierane. Zgodność w przyszłości nie jest gwarantowana.

[ @schedule_uid = ] WYJŚCIE 'schedule_uid'

Unikalny identyfikator harmonogramu. @schedule_uid jest parametrem OUTPUT typu uniqueidentifier.

Zwracanie wartości kodu

0 (powodzenie) lub 1 (niepowodzenie).

Zestaw wyników

Żaden.

Uwagi

Grafiki prac można teraz zarządzać niezależnie od konkretnych zadań. Aby dodać harmonogram do zadania, użyj sp_add_schedule do utworzenia harmonogramu i sp_attach_schedule dołączenia harmonogramu do zadania.

Permissions

Możesz przyznać EXECUTE uprawnienia tej procedurze, ale mogą one zostać nadpisane podczas aktualizacji SQL Server.

Inni użytkownicy muszą otrzymać jedną z następujących stałych ról msdb bazy danych SQL Server Agent:

  • SQLAgentUserRole
  • SQLAgentReaderRole
  • SQLAgentOperatorRole

Szczegóły dotyczące uprawnień tych ról można znaleźć w sekcji SQL Server Agent Fixed Database Roles.

Przykłady

Poniższy przykład przypisuje harmonogram SaturdayReportszadań do , który wykonuje się w każdą sobotę o 2:00 w nocy.

EXECUTE msdb.dbo.sp_add_jobschedule
    @job_name = N'SaturdayReports', -- Job name
    @name = N'Weekly_Sat_2AM', -- Schedule name
    @freq_type = 8, -- Weekly
    @freq_interval = 64, -- Saturday
    @freq_recurrence_factor = 1, -- every week
    @active_start_time = 20000; -- 2:00 AM