Partager via


sp_add_jobserver (Transact-SQL)

S'applique à : SQL Server

Transmet le travail spécifié au serveur spécifié.

Conventions de la syntaxe Transact-SQL

Syntaxe

sp_add_jobserver
    [ @job_id = ] job_id
        | [ @job_name = ] 'job_name'
    [ , [ @server_name = ] 'server' ]
[ ; ]

Arguments

[ @job_id = ] job_id

Numéro d'identification du travail. job_id est uniqueidentifier, avec la valeur par défaut NULL.

Vous devez spécifier @job_id ou @job_name , mais les deux ne peuvent pas être spécifiées.

[ @job_name = ] 'job_name'

Nom du travail. job_name est sysname, avec la valeur par défaut NULL.

Vous devez spécifier @job_id ou @job_name , mais les deux ne peuvent pas être spécifiées.

[ @server_name = ] N’server'

Nom du serveur vers lequel envoyer le travail. @server_name est nvarchar(30), avec la valeur par défaut (LOCAL). @server_name peut être soit (LOCAL) pour un serveur local, soit pour le nom d’un serveur cible existant.

Valeurs des codes de retour

0 (réussite) or 1 (échec).

Jeu de résultats

Aucune.

Notes

@automatic_post existe dans sp_add_jobserver, mais n’est pas répertorié sous Arguments. @automatic_post est réservé à une utilisation interne.

SQL Server Management Studio offre un moyen simple et graphique de gérer les tâches, et est recommandé pour la création et la gestion de l'infrastructure de travail.

autorisations

Vous pouvez accorder EXECUTE des autorisations sur cette procédure, mais ces autorisations peuvent être remplacées lors d’une mise à niveau de SQL Server.

D’autres utilisateurs doivent disposer de l’un des rôles de base de données fixes SQL Server Agent suivants dans la msdb base de données :

  • SQLAgentUserRole
  • SQLAgentReaderRole
  • SQLAgentOperatorRole

Pour en savoir plus sur les autorisations de ces rôles, consultez Rôles de base de données fixes de l'Agent SQL Server.

Seuls les membres du rôle serveur fixe sysadmin peuvent s’exécuter sp_add_jobserver pour les travaux qui impliquent plusieurs serveurs.

Exemples

R. Affecter un travail au serveur local

L'exemple suivant affecte le travail NightlyBackups pour une exécution sur le serveur local.

Remarque

Cet exemple suppose que le NightlyBackups travail existe déjà.

USE msdb;
GO

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

B. Affecter un travail à exécuter sur un autre serveur

L'exemple suivant affecte le travail multiserveurs Weekly Sales Backups au serveur SEATTLE2.

Remarque

Dans l'exemple suivant, nous considérons que le travail Weekly Sales Backups existe déjà et que SEATTLE2 est inscrit en tant que serveur cible pour l'instance en cours.

USE msdb;
GO

EXEC dbo.sp_add_jobserver @job_name = N'Weekly Sales Backups',
    @server_name = N'SEATTLE2';
GO