sp_add_jobschedule (Transact-SQL)

gäller för:SQL ServerAzure SQL Managed Instance

Skapar ett schema för ett SQL Server Agent-jobb.

Transact-SQL syntaxkonventioner

Viktigt!

Azure SQL Managed Instancestöds de flesta, men inte alla SQL Server Agent-funktioner för närvarande. Se Azure SQL Managed Instance T-SQL-skillnader från SQL Server för detaljer.

Syntax

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'

Jobbidentifikationsnummer för det jobb som schemat läggs till i. @job_id är unik identifierare, med standardvärdet .NULL

Antingen @job_id eller @job_name måste specificeras, men båda kan inte specificeras.

[ @job_name = ] N'job_name'

Namnet på jobbet som schemat läggs till till. @job_name är sysname, med standardvärdet .NULL

Antingen @job_id eller @job_name måste specificeras, men båda kan inte specificeras.

[ @name = ] N'namn'

Namnet på schemat. @name är sysname, utan standard.

[ @enabled = ] aktiverat

Visar den aktuella statusen för schemat. @enabled är Tinyint, med standardinställningen ( 1 aktiverad). Om 0, är schemat inte aktiverat. När schemat är avstängt körs inte jobbet.

[ @freq_type = ] freq_type

Värde som anger när jobbet ska utföras. @freq_type är int, och kan vara ett av följande värden:

Värde Description
1 En gång
4 Varje dag
8 Weekly
16 Monthly
32 Månadsvis, i förhållande till @freq_interval.
64 Kör när SQL Server Agent-tjänsten startar.
128 Kör när datorn är inaktiv.

[ @freq_interval = ] freq_interval

Den dag jobbet är utfört. @freq_interval är int, med standardvärdet , 0och beror på värdet av @freq_type som anges i följande tabell:

Värdet av @freq_type Effekt på @freq_interval
1 (en gång) @freq_interval används inte.
4 (dagligen) Var @freq_interval dag.
8 (veckovis) @freq_interval är en eller flera av följande (kombinerade med en OR logisk operator):

1 = Söndag
2 = Måndag
4 = Tisdag
8 = Onsdag
16 = Torsdag
32 = Fredag
64 = Lördag
16 (månadsvis) den @freq_interval dagen i månaden.
32 (månadssläkting) @freq_interval är en av följande:

1 = Söndag
2 = Måndag
3 = Tisdag
4 = Onsdag
5 = Torsdag
6 = Fredag
7 = Lördag
8 = Dag
9 = Vardag
10 = Helgdag
64 (när SQL Server Agent-tjänsten startar) @freq_interval används inte.
128 @freq_interval används inte.

[ @freq_subday_type = ] freq_subday_type

Specificerar enheterna för @freq_subday_interval. @freq_subday_type är int, och kan vara ett av dessa värden:

Värde Beskrivning (enhet)
1 Vid den angivna tidpunkten
2 Sekunder
4 Protokoll
8 Timmar

[ @freq_subday_interval = ] freq_subday_interval

Antal @freq_subday_type perioder som inträffar mellan varje utförande av jobbet. @freq_subday_interval är int, med standardvärdet .0

[ @freq_relative_interval = ] freq_relative_interval

Vidare definierar @freq_interval när @freq_type sätts till 32 (månatlig relativ).

@freq_relative_interval är int, och kan vara ett av dessa värden:

Värde Beskrivning (enhet)
1 First
2 Second
4 Tredje
8 Fjärde
16 Sist

@freq_relative_interval indikerar förekomsten av intervallet. Till exempel, om @freq_relative_interval är satt till 2, @freq_type är satt till 32, och @freq_interval är satt till 3, skulle det schemalagda jobbet ske på den andra tisdagen i varje månad.

[ @freq_recurrence_factor = ] freq_recurrence_factor

Antal veckor eller månader mellan den planerade utförandet av jobbet. @freq_recurrence_factor är int, med standardvärdet .0 @freq_recurrence_factor används endast om @freq_type är satt till 8, 16, eller 32.

[ @active_start_date = ] active_start_date

Datumet då arbetet kan påbörjas. @active_start_date är int, med standardvärdet .NULL Datumet är formaterat som yyyyMMdd. Om @active_start_date är satt måste datumet vara större än eller lika med 19900101.

När schemat är skapat, granska startdatumet och bekräfta att det är rätt datum. För mer information, se avsnittet "Schemaläggning av startdatum" i Skapa och bifoga scheman till jobb.

[ @active_end_date = ] active_end_date

Datumet då arbetsutförandet kan upphöra. @active_end_date är int, med standardvärdet .99991231 Datumet är formaterat som yyyyMMdd.

[ @active_start_time = ] active_start_time

Tiden på vilken dag som helst mellan @active_start_date och @active_end_date att börja utföra arbetet. @active_start_time är int, med standardvärdet .000000 Tiden är formaterad som HHmmss på en 24-timmarsklocka.

[ @active_end_time = ] active_end_time

Tiden på vilken dag som helst mellan active_start_date och @active_end_date att avsluta arbetet. @active_end_time är int, med standardvärdet .235959 Tiden är formaterad som HHmmss på en 24-timmarsklocka.

[ @schedule_id = ] schedule_id UTGÅNG

Schemaidentifieringsnummer tilldelats schemat om det skapas framgångsrikt. @schedule_id är en OUTPUT-parameter av typen int.

[ @automatic_post = ] automatic_post

Identifieras endast i informationssyfte. Stöds inte. Framtida kompatibilitet garanteras inte.

[ @schedule_uid = ] 'schedule_uid' UTGÅNG

En unik identifierare för schemat. @schedule_uid är en OUTPUT-parameter av typen uniqueidentifier.

Returnera kodvärden

0 (lyckades) eller 1 (fel).

Resultatuppsättning

Ingen.

Anmärkningar

Arbetsscheman kan nu hanteras oberoende av jobben. För att lägga till ett schema till ett jobb, använd sp_add_schedule för att skapa schemat och sp_attach_schedule för att koppla schemat till ett jobb.

Permissions

Du kan ge EXECUTE behörigheter för denna procedur, men dessa behörigheter kan åsidosättas vid en SQL Server-uppgradering.

Andra användare måste tilldelas en av följande SQL Server Agent-fasta databasroller i databasen msdb :

  • SQLAgentUserRole
  • SQLAgentReaderRole
  • SQLAgentOperatorRole

För detaljer om behörigheterna för dessa roller, se SQL Server Agent Fixed Database Roles.

Examples

Följande exempel tilldelar ett jobbschema till SaturdayReports, som körs varje lördag klockan 02:00.

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