sp_delete_schedule (Transact-SQL)
Löscht einen Zeitplan.
Syntax
sp_delete_schedule { [ @schedule_id = ] schedule_id | [ @schedule_name = ] 'schedule_name' } ,
[ @force_delete = ] force_delete
Argumente
[ @schedule_id= ] schedule_id
Die Zeitplan-ID des zu löschenden Zeitplans. schedule_id ist ein Wert vom Datentyp int; der Standardwert ist NULL.Hinweis Es muss entweder schedule_id oder schedule_name angegeben werden, beide Angaben sind jedoch nicht möglich.
[ @schedule_name= ] 'schedule_name'
Der Name des zu löschenden Zeitplans. schedule_name ist ein Wert vom Datentyp sysname; der Standardwert ist NULL.Hinweis Es muss entweder schedule_id oder schedule_name angegeben werden, beide Angaben sind jedoch nicht möglich.
[ @force_delete = ] force_delete
Gibt an, ob die Prozedur einen Fehler erzeugen soll, wenn der Zeitplan einem Auftrag angefügt wird. Force_delete besitzt den Datentyp bit mit einem Standardwert von 0. Wenn force_delete den Wert 0 aufweist, erzeugt die gespeicherte Prozedur einen Fehler, wenn der Zeitplan einem Auftrag angefügt wird. Wenn force_delete den Wert 1 aufweist, wird der Zeitplan gelöscht, unabhängig davon, ob der Zeitplan einem Auftrag angefügt ist.
Rückgabecodewerte
0 (Erfolg) oder 1 (Fehler)
Resultsets
Keine
Hinweise
Standardmäßig kann ein Zeitplan nicht gelöscht werden, wenn der Zeitplan einem Auftrag angefügt ist. Um einen Zeitplan zu löschen, der einem Auftrag angefügt ist, geben Sie den Wert 1 für force_delete an. Durch das Löschen eines Zeitplans werden derzeit ausgeführte Aufträge nicht beendet.
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.
Nur Mitglieder von sysadmin können einen Auftragszeitplan löschen, dessen Besitzer ein anderer Benutzer ist.
Beispiele
A. Löschen eines Zeitplans
Im folgenden Beispiel wird der Zeitplan NightlyJobs gelöscht. Wenn der Zeitplan einem Auftrag angefügt ist, kann der Zeitplan im Rahmen des Beispiels nicht gelöscht werden.
USE msdb ;
GO
EXEC dbo.sp_delete_schedule
@schedule_name = N'NightlyJobs' ;
GO
B. Löschen eines Zeitplans, der einem Auftrag angefügt ist
Im folgenden Beispiel wird der Zeitplan RunOnce gelöscht, unabhängig davon, ob der Zeitplan einem Auftrag angefügt ist.
USE msdb ;
GO
EXEC dbo.sp_delete_schedule
@schedule_name = 'RunOnce',
@force_delete = 1;
GO