sp_detach_schedule (Transact-SQL)

Gäller för:SQL Server

Det tar bort kopplingen mellan schema och jobb.

Transact-SQL syntaxkonventioner

Syntax

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

Arguments

[ @job_id = ] 'job_id'

Jobbets identifieringsnummer för jobbet som ska tas bort schemat från. @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 ska tas bort schemat från. @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 tas bort från 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 tas bort från jobbet. @schedule_name är sysname, med standardvärdet .NULL

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

[ @delete_unused_schedule = ] delete_unused_schedule

Specificerar om oanvända jobbscheman ska tas bort. @delete_unused_schedule är bit, med standardvärdet , 0vilket betyder att alla scheman hålls, även om inga jobb refererar till dem. Om det är satt till 1, raderas oanvända jobbscheman om inga jobb refererar till dem.

[ @automatic_post = ] automatic_post

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

Returnera kodvärden

0 (lyckades) eller 1 (fel).

Resultatuppsättning

Ingen.

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. Dock kan ett schema inte raderas om detachen lämnar 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 schemat. Endast medlemmar av sysadmin-fastserverrollen kan koppla bort scheman från jobb som ägs av en annan användare.

Examples

Följande exempel tar bort en koppling mellan ett NightlyJobs schema och ett BackupDatabase jobb.

USE msdb;
GO

EXECUTE dbo.sp_detach_schedule
    @job_name = 'BackupDatabase',
    @schedule_name = 'NightlyJobs';
GO