Udostępnij za pomocą


sp_update_schedule (Transact-SQL)

Dotyczy:SQL Server

Zmienia ustawienia harmonogramu agentów SQL Server.

Transact-SQL konwencje składni

Składnia

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

Identyfikator harmonogramu do modyfikacji. @schedule_id jest int, z domyślnym .NULL

Należy określić @schedule_id lub @name .

[ @name = ] N'imię'

Nazwa harmonogramu do modyfikacji. @name to nazwa systemu, z domyślnym .NULL

Należy określić @schedule_id lub @name .

[ @new_name = ] N'new_name'

Nowa nazwa harmonogramu. @new_name jest nazwą systemu z domyślnym .NULL Gdy @new_name jest , NULLnazwa harmonogramu pozostaje bez zmian.

[ @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 nie jest włączony, żadne zadania nie będą działać na tym harmonogramie.

[ @freq_type = ] freq_type

Wartość wskazująca, kiedy zadanie ma zostać wykonane. @freq_type jest int i może być jedną z tych wartości.

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

[ @freq_interval = ] freq_interval

Dni, w których wykonywane jest zadanie. @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, które mają zachodzić 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 wykonanie pracy może zostać zakończone. @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.

[ @owner_login_name = ] N'owner_login_name'

Nazwisko właściciela serwera, który jest właścicielem harmonogramu. @owner_login_name to nazwa sysname z domyślną liczbą NULL, co oznacza, że harmonogram należy do twórcy.

[ @automatic_post = ] automatic_post

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

Zwracanie wartości kodu

0 (powodzenie) lub 1 (niepowodzenie).

Uwagi

Wszystkie prace, które korzystają z harmonogramu, natychmiast korzystają z nowych ustawień. Jednak zmiana harmonogramu nie zatrzymuje zadań, które są obecnie uruchomione.

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.

Tylko członkowie administratora systemu mogą modyfikować harmonogram należący do innego użytkownika.

Przykłady

Poniższy przykład zmienia status włączenia harmonogramu NightlyJobs na 0 i ustawia właściciela na .terrid

USE msdb;
GO

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