sp_delete_schedule (Transact-SQL)
Löscht einen Zeitplan.
Transact-SQL-Syntaxkonventionen
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 vom Datentyp int und hat den Standardwert 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 Zeitplan. schedule_name ist vom Datentyp sysname und hat den Standardwert 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 verursachen soll, wenn der Zeitplan an einen Auftrag angefügt wird. Force_delete ist vom Datentyp bit. Der Standardwert ist 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. Anderen Benutzern muss eine der folgenden festen Datenbankrollen des SQL Server-Agents in der msdb-Datenbank zugewiesen werden:
SQLAgentUserRole
SQLAgentReaderRole
SQLAgentOperatorRole
Hinweis: Der Auftragsbesitzer kann einem Zeitplan einen Auftrag anfügen oder diesen von ihm trennen, und zwar ohne der Zeitplanbesitzer sein zu müssen. Ein Zeitplan kann jedoch nicht gelöscht werden, wenn durch das Trennen keine Aufträge mehr vorhanden wären, außer der Aufrufer ist der Zeitplanbesitzer.
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 an einen Auftrag angefügten Zeitplans
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
Siehe auch
Verweis
sp_add_schedule (Transact-SQL)