sp_detach_schedule (Transact-SQL)
Entfernt eine Zuordnung zwischen einem Zeitplan und einem Auftrag.
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, aus dem der Zeitplan entfernt werden soll. job_id ist vom Datentyp uniqueidentifier und hat den Standardwert NULL.[ @job_name= ] 'job_name'
Der Name des Auftrags, aus dem der Zeitplan entfernt werden soll. job_name ist vom Datentyp sysname und hat den Standardwert NULL.Hinweis 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.Hinweis 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 sollen. delete_unused_schedule ist vom Datentyp bit und hat den Standardwert 0. Dieser gibt an, dass alle Zeitpläne beibehalten werden, auch wenn keine Aufträge auf sie verweisen. 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. 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.
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
Siehe auch
Verweis
sp_add_schedule (Transact-SQL)