Share via


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, 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.

    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 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)

sp_attach_schedule (Transact-SQL)

sp_delete_schedule (Transact-SQL)