sp_attach_schedule (Transact-SQL)
Legt einen Zeitplan für einen Auftrag fest.
Syntax
sp_attach_schedule
{ [ @job_id = ] job_id | [ @job_name = ] 'job_name' } ,
{ [ @schedule_id = ] schedule_id
| [ @schedule_name = ] 'schedule_name' }
Argumente
- [ @job_id= ] job_id
Die ID des Auftrags, für den der Zeitplan hinzugefügt wird. job_id ist ein Wert vom Datentyp uniqueidentifier. Der Standardwert ist NULL.
[ @job_name =] 'job_name'
Der Name des Auftrags, für den der Zeitplan hinzugefügt wird. job_name hat den Datentyp sysname und 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 Zeitplanes, der für den Auftrag festgelegt wird. schedule_id ist ein Wert vom Datentyp int. Der Standardwert ist NULL.
[ @schedule_name = ] 'schedule_name'
Der Name des Zeitplanes, der für den Auftrag festgelegt wird. 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.
Hinweise
Der Zeitplan und der Auftrag müssen denselben Besitzer aufweisen.
Ein Zeitplan kann für mehrere Aufträge festgelegt werden. Ein Auftrag kann auf der Basis mehrerer Zeitpläne ausgeführt werden.
Diese gespeicherte Prozedur muss von der msdb-Datenbank aus ausgeführt werden.
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.
Microsoft SQL Server prüft, ob der Benutzer Besitzer sowohl des Auftrags als auch des Zeitplanes ist.
Beispiele
Im folgenden Beispiel wird ein Zeitplan mit dem Namen NightlyJobs
erstellt. Aufträge, die diesen Zeitplan verwenden, werden jeden Tag zur Serveruhrzeit 01.00 Uhr ausgeführt. In dem Beispiel wird der Zeitplan an den Auftrag BackupDatabase
sowie den Auftrag RunReports
angefügt.
Hinweis: |
---|
In diesem Beispiel wird davon ausgegangen, dass der Auftrag BackupDatabase und der Auftrag RunReports bereits vorhanden sind. |
USE msdb ;
GO
EXEC sp_add_schedule
@schedule_name = N'NightlyJobs' ,
@freq_type = 4,
@freq_interval = 1,
@active_start_time = 010000 ;
GO
EXEC sp_attach_schedule
@job_name = N'BackupDatabase',
@schedule_name = N'NightlyJobs' ;
GO
EXEC sp_attach_schedule
@job_name = N'RunReports',
@schedule_name = N'NightlyJobs' ;
GO
Siehe auch
Verweis
sp_add_schedule (Transact-SQL)
sp_detach_schedule (Transact-SQL)
sp_delete_schedule (Transact-SQL)