Sélectionner un compte pour le service SQL Server Agent

S’applique à : SQL Server Azure SQL Managed Instance

Important

Dans Azure SQL Managed Instance, la plupart, mais pas toutes les fonctionnalités SQL Server Agent sont actuellement prises en charge. Pour plus d’informations, consultez Différences T-SQL entre Azure SQL Managed Instance et SQL Server.

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. Il s’agit d’un compte puissant avec accès illimité à l’ensemble des ressources système locales. Il fait partie du groupe Administrateurs Windows sur l’ordinateur local.

    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 ne fait pas partie du groupe Administrateurs Windows. En revanche, certaines restrictions s’appliquent pour l’utilisation de l’administration multiserveur quand le service SQL Server Agent ne fait pas partie du groupe Administrateurs local. Pour plus d’informations, consultez « Types de compte de service pris en charge » plus bas dans cet article.

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 de service SQL Server Agent doit faire partie du groupe Accès compatible pré-Windows 2000 du contrôleur de domaine. Dans le cas contraire, les travaux des utilisateurs du domaine ne faisant pas partie du groupe Administrateurs Windows échouent.

  • Sur les serveurs Windows, le compte exécutant SQL Server Agent a besoin des autorisations suivantes pour prendre en charge les proxys SQL Server Agent.

    • Autorisation de contourner la vérification traversée (SeChangeNotifyPrivilege)
    • Autorisation de remplacer un jeton de niveau processus (SeAssignPrimaryTokenPrivilege)
    • Autorisation d'ajuster les quotas de mémoire pour un processus (SeIncreaseQuotaPrivilege)
    • Autorisation d’accéder à cet ordinateur à partir du réseau (SeNetworkLogonRight)

Si le compte n’a pas les autorisations requises pour prendre en charge les proxys, seuls les membres du rôle serveur fixe administrateurs système pourront créer des tâches.

Pour recevoir des alertes de notification Windows Management Instrumentation (WMI), le compte de service SQL Server Agent doit disposer d’une autorisation sur l’espace de noms qui contient les événements WMI, et ALTER ANY EVENT NOTIFICATION.

Appartenance au rôle SQL Server

Par défaut, le compte de service SQL Server Agent est mappé au SID de service SQL Server Agent par défaut (NT SERVICE\SQLSERVERAGENT), qui est membre du rôle serveur fixe de administrateur système. En cas d’utilisation du traitement de tâches multiserveur, le compte doit être membre du rôle de base de données msdb TargetServersRole sur le serveur maître. L’Assistant Serveur maître ajoute automatique le compte de service à ce rôle au cours du processus d’inscription.

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 charge

Voir Limitation 1 plus loin dans cette section.
Pris en charge

Voir Limitation 1 plus loin dans cette section.
Pris en charge

Voir Limitation 1 plus loin dans cette section.
Compte de service réseau (NT AUTHORITY\NetworkService) Pris en charge

Voir Limitation 1, 3 et 4 plus loin dans cette section.
Non pris en charge Non pris en charge
Compte d'utilisateur local (non administratif) Pris en charge

Voir Limitation 1 plus loin dans cette section.
Non pris en charge Non applicable
Compte système local (NT AUTHORITY\System) Pris en charge

Voir Limitation 2 plus loin dans cette section.
Non pris en charge Pris en charge

Voir Limitation 2 plus loin dans cette section.
Compte de service local (NT AUTHORITY\LocalService) Non pris en charge Non pris en charge Non prise en charge

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 : The enlist operation failed.

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 et 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 :

Ensure the agent start-up account for <target_server_computer_name> has rights to log on as targetServer.

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 de 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 de service réseau quand 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 qui exécute SQL Server, puis redémarrez les services SQL Server et SQL Server Agent. Cela doit être effectué une seule fois.

Tâches communes

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.