Partager via


Sélectionner un compte pour le service SQL Server Agent

Le compte de démarrage du service définit le compte Microsoft Windows dans lequel s’exécute SQL Server Agent, ainsi que ses autorisations réseau. SQL Server Agent s’exécute en tant que compte d’utilisateur spécifié. Pour sélectionner un compte pour le service SQL Server Agent, utilisez le Gestionnaire de configuration SQL Server afin de choisir l’une des options suivantes :

  • Compte intégré. Vous pouvez choisir un compte dans la liste des comptes de service intégrés Windows suivants :

    • CompteSystème local . Le nom de ce compte est NT AUTHORITY\System. Ce compte puissant bénéficie d'un accès illimité à l'ensemble des ressources système locales. Il est membre du groupe Administrateurs Windows sur l’ordinateur local et est donc membre du rôle serveur fixe sysadmin SQL Server

      Important

      Le Compte système local est fourni pour des raisons de compatibilité descendante uniquement. Le compte système local dispose d’autorisations dont SQL Server Agent n’a pas besoin. Évitez d’exécuter SQL Server Agent avec le compte système local. Pour une sécurité optimale, utilisez un compte de domaine Windows disposant des autorisations répertoriées dans la section suivante, « Autorisations de compte de domaine Windows ».

  • Ce compte. Cette option vous permet de spécifier le compte de domaine Windows où le service SQL Server Agent s’exécute. Nous vous recommandons de choisir un compte d’utilisateur Windows qui n’appartient pas au groupe Administrateurs de Windows. Toutefois, il existe des limitations pour l’utilisation de l’administration multiserveur lorsque le compte de service SQL Server Agent n’est pas membre du groupe Administrateurs local. Pour plus d'informations, consultez « Types de compte de service pris en charge » plus bas dans cette rubrique.

Autorisations de compte de domaine Windows

Pour améliorer la sécurité, sélectionnez Ce compte, qui spécifie un compte de domaine Windows. Le compte de domaine Windows que vous spécifiez doit posséder les autorisations suivantes :

  • Dans toutes les versions de Windows : autorisation de se connecter en tant que service (SeServiceLogonRight).

Notes

Le compte de service SQL Server Agent doit faire partie du groupe d’accès compatible pré-Windows 2000 sur le contrôleur de domaine, sinon les travaux appartenant à des utilisateurs de domaine qui ne sont pas membres du groupe Administrateurs Windows échouent.

  • Dans les serveurs Windows, le compte sous lequel le service SQL Server Agent s’exécute nécessite les autorisations suivantes pour pouvoir prendre en charge SQL Server Agent proxys.

    • Autorisation d'outrepasser le contrôle de parcours (SeChangeNotifyPrivilege).

    • Autorisation de remplacer un jeton de niveau processus (SeAssignPrimaryTokenPrivilege).

    • Autorisation de modifier les quotas de mémoire d'un processus (SeIncreaseQuotaPrivilege).

    • Autorisation de se connecter au moyen du type de connexion par traitement (SeBatchLogonRight).

Notes

Si le compte n’a pas les autorisations requises pour prendre en charge les proxys, seuls les membres du rôle serveur fixe sysadmin pourront créer un travail.

Notes

Pour recevoir des alertes WMI, le compte de service SQL Server Agent doit disposer d’une autorisation sur l’espace de noms qui contient les événements WMI, ainsi que de l’autorisation ALTER ANY EVENT NOTIFICATION.

Appartenance aux rôles SQL Server

Le compte sur lequel s’exécute le service SQL Server Agent doit disposer des rôles SQL Server suivants :

  • Le compte doit être membre du rôle serveur fixe sysadmin .

  • Pour utiliser le traitement de travaux multiserveur, le compte doit être membre du rôle de base de données msdbTargetServersRole sur le serveur maître.

Types de comptes de service pris en charge

Le tableau ci-dessous répertorie les types de comptes Windows qui peuvent être utilisés pour le service SQL Server Agent.

Type de compte de service Serveur non-cluster Serveur en cluster Contrôleur de domaine (non-cluster)
Compte de domaine Microsoft Windows (membre du groupe Administrateurs Windows) Prise en charge Prise en charge Pris en charge
Compte de domaine Windows (non administratif) Pris en charge1 Pris en charge1 Pris en charge1
Compte Service réseau (AUTORITE NT\NetworkService) Pris en charge1, 3, 4 Non prise en charge Non pris en charge
Compte d'utilisateur local (non administratif) Pris en charge1 Non pris en charge Non applicable
Compte système local (AUTORITE NT\System) Pris en charge2 Non prise en charge Pris en charge2
Compte Service local (AUTORITE NT\LocalService) Non pris en charge Non prise en charge Non prise en charge

1 Voir limitation 1 ci-dessous.

2 Voir limitation 2 ci-dessous.

3 Voir limitation 3 ci-dessous.

4 Voir limitation 4 ci-dessous.

Restriction 1 : utilisation de comptes non administratifs pour l'administration multiserveur

L'enregistrement de serveurs cibles auprès d'un serveur maître peut échouer en affichant le message d'erreur suivant : « L'opération d'enregistrement a échoué. »

Pour résoudre cette erreur, redémarrez à la fois les services SQL Server et SQL Server Agent. Pour plus d'informations, consultez Démarrer, arrêter, suspendre, reprendre, redémarrer les services SQL Server.

Restriction 2 : utilisation du compte système local pour l'administration multiserveur

L’administration multiserveur est prise en charge quand le service SQL Server Agent est exécuté sous le compte système local, seulement si le serveur maître et le serveur cible résident sur le même ordinateur. Si vous utilisez cette configuration, le message ci-dessous est retourné lorsque vous enregistrez les serveurs cibles auprès du serveur maître :

« Vérifiez que le compte de démarrage de l’agent pour <target_server_computer_name> dispose des autorisations pour se connecter en tant que serveur cible. »

Vous pouvez ignorer ce message d'information. L'opération d'enregistrement doit se terminer correctement. Pour plus d’informations, consultez Créer un environnement multiserveur.

Restriction 3 : utilisation du compte Service réseau pour un utilisateur SQL Server

Le service SQL Server Agent peut ne pas démarrer si vous l’exécutez sous le compte de service réseau et si ce dernier a l’autorisation explicite d’ouvrir une session sur une instance SQL en tant qu’utilisateur SQL Server.

Pour résoudre ce problème, redémarrez l’ordinateur qui exécute SQL Server. Cela doit être effectué une seule fois.

Restriction 4 : utilisation du compte Service réseau lorsque SQL Server Reporting Services s'exécute sur le même ordinateur

Le service SQL Server Agent peut ne pas démarrer si vous l’exécutez sous le compte de service réseau et que Reporting Services s’exécute également sur le même ordinateur.

Pour résoudre ce problème, redémarrez l’ordinateur sur lequel SQL Server est en cours d’exécution, puis redémarrez les services SQL Server et SQL Server Agent. Cela doit être effectué une seule fois.

Tâches courantes

Pour spécifier le compte de démarrage du service SQL Server Agent

Pour spécifier le profil de messagerie de l'Agent SQL Server

Notes

Utilisez le Gestionnaire de configuration SQL Server pour spécifier que SQL Server Agent doit démarrer quand le système d’exploitation démarre.

Voir aussi

Configurer les comptes de service Windows et les autorisations
Rubriques de procédures concernant la gestion des services (Gestionnaire de configuration SQL Server)
Implémenter la sécurité de l'Agent SQL Server