Sélectionner un compte pour le service SQL Server Agent

Le compte de démarrage du service définit le compte Microsoft Windows dans le contexte duquel l'Agent SQL Server s'exécute, ainsi que ses autorisations réseau. L'Agent SQL Server s'exécute dans le contexte d'un compte d'utilisateur spécifié. Pour sélectionner un compte pour le service de l'Agent SQL Server, utilisez le Gestionnaire de configuration de SQL Server pour 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 :

    • Compte systè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 de l'ordinateur local et donc membre du rôle serveur fixe sysadmin de SQL Server.

      Remarque relative à la sécuritéRemarque relative à la sécurité

      Le Compte système local est fourni pour des raisons de compatibilité descendante uniquement. Le compte système local dispose d'autorisations dont l'Agent SQL Server n'a pas besoin. Évitez d'exécuter l'Agent SQL Server avec ce compte. 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 dans le contexte duquel 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. En revanche, certaines restrictions s'appliquent dans le cas de l'administration multiserveur lorsque le service de l'Agent SQL Server 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).

[!REMARQUE]

Le compte du service SQL Server Agent doit être membre du groupe Accès compatible pré-Windows 2000 du contrôleur de domaine. Dans le cas contraire, les travaux des utilisateurs du domaine non membres du groupe Administrateurs de Windows échouent.

  • Sur les serveurs Windows, le compte sous lequel le service SQL Server Agent s'exécute requiert les autorisations suivantes afin de prendre en charge les proxys de l'Agent SQL Server.

    • 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).

[!REMARQUE]

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

[!REMARQUE]

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

Appartenance aux rôles SQL Server

Le compte avec lequel le service SQL Server Agent est exécuté doit être membre 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 msdb TargetServersRole 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 de l'Agent SQL Server.

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)

Pris en charge

Pris 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 pris 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 pris en charge

Pris en charge2

Compte Service local (AUTORITE NT\LocalService)

Non pris en charge

Non pris en charge

Non pris en charge

1 Consultez la restriction 1 ci-dessous.

2 Consultez la restriction 2 ci-dessous.

3 Consultez la restriction 3 ci-dessous.

4 Consultez la restriction 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 les services SQL Server et de l'Agent SQL Server. Pour plus d'informations, consultez Démarrer, arrêter, suspendre, reprendre, redémarrer le moteur de base de données, SQL Server Agent ou le service SQL Server Browser.

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

L'administration multiserveur est prise en charge lorsque 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 multi-serveur.

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

L'Agent SQL Server peut ne pas démarrer si vous exécutez le service SQL Server Agent sous le compte Service réseau et si ce dernier a l'autorisation d'ouvrir une session sur une instance SQL Server 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

L'Agent SQL Server peut ne pas démarrer si vous exécutez le service SQL Server Agent sous le compte Service réseau, alors que Reporting Services s'exécute aussi sur le même ordinateur.

Pour résoudre ce problème, redémarrez l'ordinateur qui exécute SQL Server, puis redémarrez les services SQL Server et les services de l'Agent SQL Server. 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

[!REMARQUE]

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

Voir aussi

Référence

Configurer les comptes de service Windows et les autorisations

Concepts

Implémenter la sécurité de l'Agent SQL Server

Autres ressources

Rubriques de procédures concernant la gestion des services (Gestionnaire de configuration SQL Server)