sp_add_jobserver (Transact-SQL)

Weist einem Auftrag einen bestimmten Zielserver zu.

Themenlink (Symbol)Transact-SQL-Syntaxkonventionen

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.

    HinweisHinweis

    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.

HinweisHinweis

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.

HinweisHinweis

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