sp_attach_schedule (Transact-SQL)

Gäller för:SQL Server

Sätter upp ett schema för ett jobb.

Transact-SQL syntaxkonventioner

Syntax

sp_attach_schedule
    [ [ @job_id = ] 'job_id' ]
    [ , [ @job_name = ] N'job_name' ]
    [ , [ @schedule_id = ] schedule_id ]
    [ , [ @schedule_name = ] N'schedule_name' ]
    [ , [ @automatic_post = ] automatic_post ]
[ ; ]

Arguments

[ @job_id = ] 'job_id'

Jobbidentifikationsnumret för det jobb som schemat läggs till till. @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. @job_name är sysname, med standardvärdet .NULL

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

[ @schedule_id = ] schedule_id

Schemaidentifieringsnumret för schemat som ska ställas in för jobbet. @schedule_id är int, med standardvärdet .NULL

Antingen @schedule_id eller @schedule_name måste specificeras, men båda kan inte specificeras.

[ @schedule_name = ] N'schedule_name'

Namnet på schemat som ska sättas upp för jobbet. @schedule_name är sysname, med standardvärdet .NULL

Antingen @schedule_id eller @schedule_name måste specificeras, men båda kan inte specificeras.

[ @automatic_post = ] automatic_post

@automatic_post är bit, med standardvärdet .1

Anmärkningar

Schemat och jobbet måste ha samma ägare.

Ett schema kan sättas in för mer än ett jobb. Ett jobb kan utföras på mer än ett schema.

Denna lagrade promotor måste köras från databasen msdb .

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

Jobbägaren kan koppla ett jobb till ett schema och koppla bort ett jobb från ett schema utan att också behöva vara schemaansvarig. Ett schema kan dock inte tas bort om detachern skulle lämna det utan jobb, om inte den som ringer är schemaägaren.

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

SQL Server kontrollerar om användaren äger både jobbet och schemat.

Examples

Följande exempel skapar ett schema med namnet NightlyJobs. Jobb som använder detta schema körs varje dag när tiden på servern är 01:00. Exemplet kopplar schemat till jobbet BackupDatabase och jobbet RunReports.

Anmärkning

Detta exempel förutsätter att jobbet BackupDatabase och jobbet RunReports redan existerar.

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