sp_detach_schedule (Transact-SQL)

Entfernt eine Zuordnung zwischen einem Zeitplan und einem Auftrag.

Themenlink (Symbol)Transact-SQL-Syntaxkonventionen

Syntax

sp_detach_schedule 
     { [ @job_id = ] job_id | [ @job_name = ] 'job_name' } ,
       { [ @schedule_id = ] schedule_id | [ @schedule_name = ] 'schedule_name' } ,
     [ @delete_unused_schedule = ] delete_unused_schedule 

Argumente

  • [ @job_id= ] job_id
    Die ID des Auftrags, für den der Zeitplan entfernt werden soll. job_id ist vom Datentyp uniqueidentifier und hat den Standardwert NULL.

  • [ @job_name= ] 'job_name'
    Der Name des Auftrags, für den der Zeitplan entfernt werden soll. job_name ist vom Datentyp sysname und hat den Standardwert NULL.

    HinweisHinweis

    Es muss entweder job_id oder job_name angegeben werden, beide Angaben sind jedoch nicht möglich.

  • [ @schedule_id= ] schedule_id
    Die ID des Zeitplans, der aus dem Auftrag entfernt werden soll. schedule_id ist vom Datentyp int und hat den Standardwert NULL.

  • [ @schedule_name= ] 'schedule_name'
    Der Name des Zeitplans, der aus dem Auftrag entfernt werden soll. schedule_name ist vom Datentyp sysname und hat den Standardwert NULL.

    HinweisHinweis

    Es muss entweder schedule_id oder schedule_name angegeben werden, beide Angaben sind jedoch nicht möglich.

  • [ @delete_unused_schedule= ] delete_unused_schedule
    Gibt an, ob nicht verwendete Auftragszeitpläne gelöscht werden. delete_unused_schedule ist vom Datentyp bit und hat den Standardwert 0, der angibt, dass alle Zeitpläne gespeichert werden, auch wenn kein Auftrag auf sie verweist. Falls dieser Parameter auf 1 festgelegt ist, werden nicht verwendete Auftragszeitpläne gelöscht, wenn kein Auftrag auf sie verweist.

Rückgabecodewerte

0 (Erfolg) oder 1 (Fehler)

Resultsets

Keine

Berechtigungen

Standardmäßig können nur Mitglieder der festen Serverrolle sysadmin diese gespeicherte Prozedur ausführen. Andere Benutzer müssen Mitglieder der festen SQL Server-Agent-Datenbankrollen in der msdb-Datenbank sein:

  • SQLAgentUserRole

  • SQLAgentReaderRole

  • SQLAgentOperatorRole

Weitere Informationen zu den Berechtigungen dieser Rollen finden Sie unter Feste Datenbankrollen des SQL Server-Agents.

SQL Server überprüft, ob der Benutzer der Besitzer des Zeitplans ist.Nur Mitglieder der festen Serverrolle sysadmin können einen Zeitplan von Aufträgen trennen, die sich im Besitz eines anderen Benutzers befinden.

Beispiele

Im folgenden Beispiel wird eine Zuordnung zwischen einem 'NightlyJobs'-Zeitplan und einem 'BackupDatabase'-Auftrag entfernt.

USE msdb ;
GO

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