Freigeben über


sp_add_jobserver (Transact-SQL)

Gilt für: SQL Server

Weist einem Auftrag einen bestimmten Zielserver zu.

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 eindeutiger Bezeichner mit einem Standardwert von NULL.

Entweder @job_id oder @job_name müssen angegeben werden, beide können jedoch nicht angegeben werden.

[ @job_name = ] 'job_name'

Der Name des Auftrags. job_name ist "sysname" mit der Standardeinstellung "NULL.

Entweder @job_id oder @job_name müssen angegeben werden, beide können jedoch nicht angegeben werden.

[ @server_name = ] N'server'

Der Name des Servers für das Ziel des Auftrags. @server_name ist nvarchar(30), mit einem Standardwert von (LOCAL). @server_name kann entweder (LOCAL) für einen lokalen Server oder den Namen eines vorhandenen Zielservers verwendet werden.

Rückgabecodewerte

0 (erfolgreich) oder 1 Fehler.

Resultset

Keine.

Hinweise

@automatic_post ist in sp_add_jobservervorhanden, wird jedoch nicht unter "Argumente" aufgeführt. @automatic_post ist für die interne Verwendung reserviert.

SQL Server Management Studio bietet eine einfache grafische Möglichkeit zum Verwalten von Aufträgen. Es handelt sich hierbei um die empfohlene Art und Weise zum Erstellen und Verwalten der Auftragsinfrastruktur.

Berechtigungen

Diese gespeicherte Prozedur gehört der db_owner Rolle. Sie können berechtigungen für jeden Benutzer erteilen EXECUTE , diese Berechtigungen können jedoch während eines SQL Server-Upgrades außer Kraft gesetzt werden.

Anderen Benutzern muss eine der folgenden SQL Server-Agent festen Datenbankrollen in der msdb Datenbank gewährt 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 für Aufträge ausgeführt werden sp_add_jobserver , die mehrere Server umfassen.

Beispiele

A. Zuweisen eines Auftrags zum lokalen Server

Im folgenden Beispiel wird die Ausführung des Auftrags NightlyBackups dem lokalen Server zugewiesen.

Hinweis

In diesem Beispiel wird davon ausgegangen, dass der NightlyBackups Auftrag bereits vorhanden ist.

USE msdb;
GO

EXEC dbo.sp_add_jobserver @job_name = N'NightlyBackups';
GO

B. Zuweisen eines Auftrags zur Ausführung auf 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