sp_add_jobserver (Transact-SQL)
Weist einem Auftrag einen bestimmten Zielserver zu.
Syntax
sp_add_jobserver [ @job_id = ] job_id | [ @job_name = ] 'job_name'
[ , [ @server_name = ] 'server' ]
Argumente
- [ @job_id = ] job_id
Die ID des Auftrags. job_id ist vom Datentyp uniqueidentifier; der Standardwert ist NULL.
[ @job_name = ] 'job_name'
Der Name des Auftrags. job_name ist vom Datentyp sysname; der Standardwert ist NULL.Hinweis: Es muss entweder job_id oder job_name angegeben werden, aber beide Angaben sind nicht möglich.
- [ @server_name = ] 'server'
Der Name des Servers, dem der Auftrag zugewiesen wird. server ist vom Datentyp nvarchar(30); der Standardwert ist N'(LOCAL)'. server kann dem Wert (LOCAL) (für einen lokalen Server) oder dem Namen eines vorhandenen Zielservers entsprechen.
Rückgabecodewerte
0 (Erfolg) oder 1 (Fehler)
Resultsets
Keine
Hinweise
@automatic_post gehört ebenfalls zu sp_add_jobserver, wird jedoch nicht unter den Argumenten aufgeführt. @automatic_post ist für die interne Verwendung reserviert.
Mit SQL Server Management Studio können Aufträge problemlos mithilfe einer grafischen Oberfläche verwaltet werden. Dies ist die empfohlene Vorgehensweise, um die Auftragsinfrastruktur zu erstellen und zu verwalten.
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
Weitere Informationen zu den Berechtigungen dieser Rollen finden Sie unter Feste Datenbankrollen des SQL Server-Agents.
Nur Mitglieder der festen Serverrolle sysadmin können sp_add_jobserver für Aufträge ausführen, die mehrere Server einbeziehen.
Beispiele
A. Zuweisen eines Auftrags zum lokalen Server
Im folgenden Beispiel wird die Ausführung des Auftrags NightlyBackups
dem lokalen Server zugewiesen.
Hinweis: |
---|
Bei diesem Beispiel wird vorausgesetzt, dass der Auftrag NightlyBackups bereits vorhanden ist. |
USE msdb ;
GO
EXEC dbo.sp_add_jobserver
@job_name = N'NightlyBackups' ;
GO
B. Zuweisen der Ausführung eines Auftrags zu einem anderen Server
Im folgenden Beispiel wird der Multiserverauftrag Weekly Sales Backups
dem Server SEATTLE2
zugewiesen.
Hinweis: |
---|
Bei diesem Beispiel wird vorausgesetzt, dass der Auftrag Weekly Sales Backups bereits vorhanden ist und dass der Server SEATTLE2 als Zielserver für die aktuelle Instanz registriert ist. |
USE msdb ;
GO
EXEC dbo.sp_add_jobserver
@job_name = N'Weekly Sales Backups',
@server_name = N'SEATTLE2' ;
GO
Siehe auch
Verweis
sp_apply_job_to_targets (Transact-SQL)
sp_delete_jobserver (Transact-SQL)
Gespeicherte Systemprozeduren (Transact-SQL)