sp_delete_schedule (Transact-SQL)sp_delete_schedule (Transact-SQL)

DIESES THEMA GILT FÜR:jaSQL Server (ab 2008)neinAzure SQL-DatenbankneinAzure SQL Data Warehouse neinParallel Data Warehouse THIS TOPIC APPLIES TO:yesSQL Server (starting with 2008)noAzure SQL DatabasenoAzure SQL Data Warehouse noParallel Data Warehouse

Löscht einen Zeitplan.Deletes a schedule.

Themenlinksymbol Transact-SQL Syntax Conventions (Transact-SQL-Syntaxkonventionen)Topic link icon Transact-SQL Syntax Conventions

SyntaxSyntax


sp_delete_schedule { [ @schedule_id = ] schedule_id | [ @schedule_name = ] 'schedule_name' } ,  
     [ @force_delete = ] force_delete  

ArgumenteArguments

[ @schedule_id= ] Schedule_id[ @schedule_id= ] schedule_id
Die Zeitplan-ID des zu löschenden Zeitplans.The schedule identification number of the schedule to delete. Schedule_id ist Int, hat den Standardwert NULL.schedule_id is int, with a default of NULL.

Hinweis: entweder Schedule_id oder Schedule_name muss angegeben werden, aber beide können nicht angegeben werden.NOTE: Either schedule_id or schedule_name must be specified, but both cannot be specified.

[ @schedule_name= ] "Schedule_name"[ @schedule_name= ] 'schedule_name'
Der Name des zu löschenden Zeitplan.The name of the schedule to delete. Schedule_name ist Sysname, hat den Standardwert NULL.schedule_name is sysname, with a default of NULL.

Hinweis: entweder Schedule_id oder Schedule_name muss angegeben werden, aber beide können nicht angegeben werden.NOTE: Either schedule_id or schedule_name must be specified, but both cannot be specified.

[ @force_delete = ] force_delete[ @force_delete = ] force_delete
Gibt an, ob die Prozedur einen Fehler verursachen soll, wenn der Zeitplan an einen Auftrag angefügt wird.Specifies whether the procedure should fail if the schedule is attached to a job. Force_delete bit und hat den Standardwert 0.Force_delete is bit, with a default of 0. Wenn Force_delete ist 0, die gespeicherte Prozedur fehlschlägt, wenn der Zeitplan einem Auftrag angefügt ist.When force_delete is 0, the stored procedure fails if the schedule is attached to a job. Wenn Force_delete ist 1, der Zeitplan gelöscht, unabhängig davon, ob der Zeitplan einem Auftrag angefügt ist.When force_delete is 1, the schedule is deleted regardless of whether the schedule is attached to a job.

RückgabecodewerteReturn Code Values

0 (Erfolg) oder 1 (Fehler)0 (success) or 1 (failure)

ResultsetsResult Sets

KeineNone

HinweiseRemarks

Standardmäßig kann ein Zeitplan nicht gelöscht werden, wenn der Zeitplan einem Auftrag angefügt ist.By default, a schedule cannot be deleted if the schedule is attached to a job. Um einen Zeitplan zu löschen, die einem Auftrag angefügt ist, geben Sie den Wert 1 für Force_delete.To delete a schedule that is attached to a job, specify a value of 1 for force_delete. Durch das Löschen eines Zeitplans werden derzeit ausgeführte Aufträge nicht beendet.Deleting a schedule does not stop jobs that are currently running.

BerechtigungenPermissions

Standardmäßig können nur Mitglieder der festen Serverrolle sysadmin diese gespeicherte Prozedur ausführen.By default, members of the sysadmin fixed server role can execute this stored procedure. Andere Benutzer müssen Mitglieder der festen SQL ServerSQL Server -Agent-Datenbankrollen in der msdb -Datenbank sein:Other users must be granted one of the following SQL ServerSQL Server Agent fixed database roles in the msdb database:

  • SQLAgentUserRoleSQLAgentUserRole

  • SQLAgentReaderRoleSQLAgentReaderRole

  • SQLAgentOperatorRoleSQLAgentOperatorRole

    Hinweis: Der Auftragsbesitzer kann einem Zeitplan einen Auftrag anfügen oder diesen von ihm trennen, und zwar ohne der Zeitplanbesitzer sein zu müssen.Note that the job owner can attach a job to a schedule and detach a job from a schedule without also having to be the schedule owner. Allerdings kann kein Zeitplan gelöscht werden, wenn das Trennen keine Aufträge lassen würde, wenn der Aufrufer der Zeitplanbesitzer ist.However, a schedule cannot be deleted if the detach would leave it with no jobs, unless the caller is the schedule owner.

    Weitere Informationen zu den Berechtigungen dieser Rollen finden Sie unter Feste Datenbankrollen des SQL Server-Agents.For details about the permissions of these roles, see SQL Server Agent Fixed Database Roles.

    Nur Mitglieder der Sysadmin Rolle kann einen Zeitplan für Aufträge, die von einem anderen Benutzer gehört zu löschen.Only members of the sysadmin role can delete a job schedule that is owned by another user.

BeispieleExamples

A.A. Löschen eines ZeitplansDeleting a schedule

Im folgenden Beispiel wird der Zeitplan NightlyJobs gelöscht.The following example deletes the schedule NightlyJobs. Wenn der Zeitplan einem Auftrag angefügt ist, kann der Zeitplan im Rahmen des Beispiels nicht gelöscht werden.If the schedule is attached to any job, the example does not delete the schedule.

USE msdb ;  
GO  

EXEC dbo.sp_delete_schedule  
    @schedule_name = N'NightlyJobs' ;  
GO  

B.B. Löschen eines an einen Auftrag angefügten ZeitplansDeleting a schedule attached to a job

Im folgenden Beispiel wird der Zeitplan RunOnce gelöscht, unabhängig davon, ob der Zeitplan einem Auftrag angefügt ist.The following example deletes the schedule RunOnce, regardless of whether the schedule is attached to a job.

USE msdb ;  
GO  

EXEC dbo.sp_delete_schedule  
    @schedule_name = 'RunOnce',  
    @force_delete = 1;  
GO  

Siehe auchSee Also

Implementieren von Aufträgen Implement Jobs
sp_add_schedule (Transact-SQL)sp_add_schedule (Transact-SQL)