Agent SQL Server

Le service de l'Agent SQL Server exécute des tâches administratives planifiées, nommées travaux dans SQL Server 2012.

Dans cette rubrique

  • Avantages de l'Agent SQL Server

  • Composants de SQL Server Agent

  • Sécurité pour l'administration de l'Agent SQL Server

Avantages de l'Agent SQL Server

L'Agent SQL Server utilise SQL Server pour stocker les informations sur les travaux. Les travaux contiennent une ou plusieurs étapes de travail. Chaque étape contient sa propre tâche, par exemple, la sauvegarde d'une base de données.

L'Agent SQL Server peut exécuter un travail sur la base d'une planification, en réponse à un événement spécifique ou sur demande. Par exemple, si vous sauvegardez l’ensemble des serveurs de l’entreprise chaque jour ouvrable après les horaires de bureau, vous pouvez automatiser cette tâche. Planifiez l'exécution de la sauvegarde après 22h00 du lundi au vendredi ; si la sauvegarde rencontre un problème, l'Agent SQL Server peut enregistrer l'événement et vous en avertir.

[!REMARQUE]

Par défaut, le service de l'Agent SQL Server est désactivé lorsque SQL Server 2012 est installé, sauf si l'utilisateur choisit explicitement de démarrer automatiquement le service.

Icône de flèche utilisée avec le lien Retour en haut[Haut de la page]

Composants de SQL Server Agent

L'Agent SQL Server utilise les composants ci-après pour définir les tâches à exécuter, le moment opportun pour leur exécution et la consignation de leur succès ou de leur échec.

Travaux

Un travail est une suite d'actions effectuées par l'Agent SQL Server. Utilisez les travaux pour définir une tâche administrative, afin qu'elle soit exécutée une ou plusieurs fois et que son résultat (échec ou réussite) soit contrôlé. Un travail peut être exécuté sur un serveur local ou sur plusieurs serveurs distants.

Important

Les travaux de l'agent SQL Server qui s'exécutent au moment d'un événement de basculement sur une instance de cluster de basculement SQL Server ne continuent pas après le basculement vers un autre nœud de cluster de basculement. Les travaux de l'agent SQL Server qui s'exécutent au moment où un nœud Hyper-V est suspendu ne reprennent pas si la pause provoque un basculement vers un autre nœud. Les travaux qui commencent mais ne peuvent pas se terminer à cause d'un événement de basculement sont enregistrés comme commencés, mais n'affichent pas d'entrées de journal supplémentaires pour l'achèvement ou l'échec. Les travaux de l'agent SQL Server dans ces scénarios semblent ne s'être jamais terminés.

Vous pouvez exécuter un travail :

  • en fonction d'une ou plusieurs planifications ;

  • en réponse à une ou plusieurs alertes ;

  • en exécutant la procédure stockée sp_start_job.

Chaque action d'un travail est appelée étape du travail. Par exemple, une étape du travail peut être l'exécution d'une instruction Transact-SQL, l'exécution d'un package SSIS ou l'envoi d'une commande à un serveur Analysis Services. Les étapes du travail sont gérées dans le cadre d'un travail.

Chaque étape s'exécute dans un contexte de sécurité spécifique. Pour les étapes qui utilisent Transact-SQL, utilisez l'instruction EXECUTE AS pour définir le contexte de sécurité. Pour les autres types d'étapes, utilisez un compte proxy.

Planifications

Une planification programme l'exécution d'un travail. Une même planification peut porter sur plusieurs travaux, et plusieurs planifications peuvent impliquer le même travail. Une planification peut prévoir l'exécution d'un travail :

  • au moment où l'Agent SQL Server démarre ;

  • au moment où l'utilisation de l'UC atteint le niveau d'inactivité que vous avez défini ;

  • ponctuellement, à une date et une heure spécifiques ;

  • selon une planification périodique.

Pour plus d'informations, consultez Créer des planifications et les attacher à des travaux.

Alertes

Une alerte est une réponse automatique à un événement donné. Par exemple, un événement peut être un travail qui démarre ou des ressources système qui atteignent un seuil spécifique. Vous définissez les conditions selon lesquelles une alerte est déclenchée.

Une alerte peut être une réponse :

  • à un événement SQL Server ;

  • à des conditions de performance de SQL Server ;

  • à des événements Windows Management Instrumentation sur l'ordinateur qui exécute l'Agent SQL Server.

Une alerte peut :

  • prévenir un ou plusieurs opérateurs ;

  • exécuter un travail.

Pour plus d'informations, consultez Alertes.

Opérateurs

Un opérateur est une personne responsable de la maintenance d'une ou plusieurs instances de SQL Server. Dans certaines sociétés, les responsabilités d'opérateur sont affectées à une seule personne. Dans des sociétés possédant de nombreux serveurs, plusieurs personnes peuvent se partager les responsabilités d'opérateur. Un opérateur ne contient pas d'informations de sécurité et ne définit pas de principal de sécurité.

Dans SQL Server, les opérateurs peuvent être avertis d'alertes :

  • Courrier électronique

  • par radiomessagerie (par l'intermédiaire du courrier électronique) ;

  • net send

[!REMARQUE]

Pour envoyer des notifications via net send, le service Windows Messenger doit être actif sur l'ordinateur sur lequel l'Agent SQL Server réside.

Important

Les options du récepteur de radiomessagerie et net send seront supprimées de l'Agent SQL Server dans une version future de SQL Server. Évitez d'utiliser ces fonctionnalités dans une nouvelle tâche de développement et prévoyez de modifier les applications qui les utilisent actuellement.

Pour envoyer des notifications aux opérateurs par courrier électronique ou radiomessagerie, vous devez configurer l'Agent SQL Server de sorte qu'il utilise la messagerie de base de données. Pour plus d'informations, consultez Messagerie de base de données.

Un opérateur peut être l'alias d'un groupe d'individus. De cette façon, tous les membres de cet alias sont avertis en une seule fois. Pour plus d'informations, consultez Opérateurs.

Icône de flèche utilisée avec le lien Retour en haut[Haut de la page]

Sécurité pour l'administration de l'Agent SQL Server

L'Agent SQL Server utilise les rôles de base de données fixes SQLAgentUserRole, SQLAgentReaderRole et SQLAgentOperatorRole de la base de données msdb pour contrôler l'accès à l'Agent SQL Server par les utilisateurs qui ne sont pas membres du rôle serveur fixe sysadmin. Outre ces rôles de base de données fixes, les sous-systèmes et les proxys aident les administrateurs de base de données à garantir que chaque étape de travail est exécutée avec les autorisations minimales nécessaires à la réalisation de cette tâche.

Rôles

Les membres des rôles de base de données fixes SQLAgentUserRole, SQLAgentReaderRole et SQLAgentOperatorRole de msdb et les membres du rôle de serveur fixe sysadmin ont accès à l'Agent SQL Server. Un utilisateur qui n'appartient à aucun de ces rôles ne peut pas utiliser l'Agent SQL Server. Pour plus d'informations sur les rôles utilisés par l'Agent SQL Server, consultez Implémenter la sécurité de l'Agent SQL Server.

Sous-systèmes

Un sous-système est un objet prédéfini qui représente la fonctionnalité disponible pour une étape de travail. Chaque proxy a accès à un ou plusieurs sous-systèmes. Les sous-systèmes assurent la sécurité en délimitant l'accès aux fonctionnalités mises à la disposition d'un proxy. Chaque étape de travail s'exécute dans le contexte d'un proxy, à l'exception des étapes de travail Transact-SQL. Les étapes de travail Transact-SQL utilisent la commande EXECUTE AS pour définir le contexte de sécurité.

SQL Server définit les sous-systèmes répertoriés dans le tableau suivant :

Nom du sous-système

Description

Script ActiveX Microsoft

Permet d'exécuter une étape de travail de script ActiveX

Important

Le sous-système de scripts ActiveX ne sera pas supprimé de l'Agent SQL Server dans une version future de Microsoft SQL Server. Évitez d'utiliser cette fonctionnalité dans de nouveaux travaux de développement, et prévoyez de modifier les applications qui utilisent actuellement cette fonctionnalité.

Système d'exploitation (CmdExec)

Permet de lancer un programme exécutable.

PowerShell

Exécutez une étape de travail de scripts PowerShell.

Serveur de distribution de réplication

Permet d'exécuter une étape de travail qui active l'Agent de distribution.

Fusion de réplication

Permet d'exécuter une étape de travail qui active l'Agent de fusion.

Agent de lecture de file d'attente de réplication

Permet d'exécuter une étape de travail qui active l'Agent de lecture de la file d'attente de réplication.

Instantané de réplication

Permet d'exécuter une étape de travail qui active l'Agent d'instantané des réplications.

Agent de lecture du journal des transactions de réplication

Permet d'exécuter une étape de travail qui active l'Agent de lecture du journal des réplications.

Commande Analysis Services

Permet d'exécuter une commande Analysis Services.

Requête Analysis Services

Permet d'exécuter une requête Analysis Services.

Exécution du package SSIS

Permet d'exécuter un package SSIS.

[!REMARQUE]

Comme les étapes de travail Transact-SQL n'utilisent pas de proxys, il n'existe aucun sous-système de l'Agent SQL Server pour les étapes de travail Transact-SQL.

L'Agent SQL Server applique les restrictions des sous-systèmes même si le principal de sécurité du proxy a généralement l'autorisation d'exécuter cette tâche dans l'étape de travail. Par exemple, un proxy d'un utilisateur qui est membre du rôle serveur fixe sysadmin ne peut pas exécuter d'étape de travail SSIS même si l'utilisateur peut exécuter des packages SSIS, à moins que le proxy ait accès au sous-système SSIS.

Proxys

L'Agent SQL Server utilise les proxys pour gérer les contextes de sécurité. Un proxy peut être utilisé dans plusieurs étapes de travail. Les membres du rôle de serveur fixe sysadmin peuvent créer des proxys.

Chaque proxy correspond à des informations d'identification de sécurité. Chaque proxy peut être associé à un ensemble de sous-systèmes et de connexions. Le proxy peut être utilisé uniquement pour les étapes de travail qui utilisent un sous-système associé au proxy. Pour créer une étape de travail qui utilise un proxy spécifique, le propriétaire du travail doit utiliser une connexion associée à ce proxy ou être membre d'un rôle sans restriction d'accès aux proxys. Les membres du rôle de serveur fixe sysadmin disposent d'un accès sans restriction aux proxys. Les membres des rôles SQLAgentUserRole, SQLAgentReaderRole ou SQLAgentOperatorRole peuvent utiliser uniquement les proxys pour lesquels un accès spécifique leur a été accordé. Chaque utilisateur membre de l'un des rôles de base de données fixes de l'Agent SQL Server doit disposer d'un accès à des proxys spécifiques de façon à pouvoir créer les étapes de travail qui les utilisent.

Tâches associées

Utilisez les étapes suivantes pour configurer l'Agent SQL Server de manière à automatiser l'administration de SQL Server :

  1. Identifiez les tâches administratives et les événements de serveur se produisant régulièrement et déterminez si ces tâches ou ces événements peuvent être administrés par programme. Une tâche convient à l'automatisation si elle implique une séquence d'étapes prévisibles et se produit à un moment spécifique ou en réponse à un événement particulier.

  2. Définissez un ensemble de travaux, de planifications, d'alertes et d'opérateurs à l'aide de scripts SQL Server Management Studio, Transact-SQL ou d'objets SMO SQL Server. Pour plus d'informations, consultez Créer des travaux.

  3. Exécutez les travaux de l'Agent SQL Server que vous avez définis.

[!REMARQUE]

Pour l'instance par défaut de SQL Server, le service SQL Server se nomme SQLSERVERAGENT. Pour les instances nommées, le service SQL Server Agent se nomme SQLAgent$instancename.

Si vous exécutez plusieurs instances de SQL Server, vous pouvez employer l'administration multiserveur pour automatiser des tâches courantes dans toutes les instances. Pour plus d'informations, consultez Administration automatisée à l'échelle d'une entreprise.

Utilisez les tâches suivantes pour démarrer l'Agent SQL Server :

Description

Rubrique

Explique comment configurer l'Agent SQL Server.

Configurer l'Agent SQL Server

Explique comment démarrer, arrêter et interrompre le service SQL Server Agent.

Démarrer, arrêter ou suspendre le service SQL Server Agent

Décrit les considérations à prendre en compte lors de la spécification d'un compte pour le service SQL Server Agent.

Sélectionner un compte pour le service SQL Server Agent

Explique comment utiliser le journal des erreurs de l'Agent SQL Server.

Journal des erreurs de l'Agent SQL Server

Explique comment utiliser des objets de performances.

Utiliser des objets de performance

Décrit l'Assistant Plan de maintenance qui est un utilitaire permettant de créer des travaux, des alertes et des opérateurs en vue d'automatiser l'administration d'une instance de SQL Server.

Utiliser l'Assistant Plan de maintenance

Explique comment automatiser des tâches administratives à l'aide de l'Agent SQL Server.

Tâches d'administration automatisée (Agent SQL Server)

Icône de flèche utilisée avec le lien Retour en haut[Haut de la page]

Voir aussi

Concepts

Configuration de la surface d'exposition