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) ou 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
Cette procédure stockée appartient au rôle db_owner . Vous pouvez accorder EXECUTE
des autorisations pour n’importe quel utilisateur, 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