Remarque
L’accès à cette page nécessite une autorisation. Vous pouvez essayer de vous connecter ou de modifier des répertoires.
L’accès à cette page nécessite une autorisation. Vous pouvez essayer de modifier des répertoires.
s’applique à :SQL Server
Azure SQL Managed Instance
Importante
Sur Azure SQL Managed Instance, la plupart, mais pas toutes les fonctionnalités de 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 ou limitations des tâches de SQL Agent dans SQL Managed Instance.
Une étape du travail est une action exécutée par le travail sur une base de données ou un serveur. Chaque tâche doit comporter au moins une étape. Les étapes de travail peuvent être :
- Des programmes exécutables et des commandes du système d'exploitation
- Les instructions Transact-SQL, notamment des procédures stockées et des procédures stockées étendues.
- Des scripts PowerShell
- Des tâches de réplication
- Tâches des Analysis Services
- Paquets des Services d'Intégration
Chaque étape de travail s'exécute dans un contexte de sécurité spécifique. Si l'étape de travail spécifie un proxy, elle s'exécute dans le contexte de sécurité des informations d'identification du proxy. Si une étape de travail ne spécifie pas de proxy, l’étape de travail s’exécute dans le contexte du compte de service SQL Server Agent. Seuls les membres du rôle serveur fixe sysadmin peuvent créer des travaux qui ne spécifient pas explicitement un proxy.
Étant donné que les étapes de travail s’exécutent dans le contexte d’un utilisateur Windows spécifique, cet utilisateur doit disposer des autorisations et de la configuration nécessaires à l’exécution de l’étape de travail. Par exemple, si vous créez un travail qui nécessite une lettre de lecteur ou un chemin UNC (Universal Naming Convention), les étapes du travail peuvent s’exécuter sous votre compte d’utilisateur Windows lors du test des tâches. Toutefois, l'utilisateur Windows associé à l'étape de travail doit par ailleurs disposer des autorisations nécessaires, des configurations de lettres de lecteurs appropriées ou des droits d'accès au lecteur requis. Sinon, l'étape de travail échoue. Pour éviter ce problème, vérifiez que le proxy associé à chaque étape de travail dispose des autorisations nécessaires pour la tâche correspondant à l'étape de travail. Pour plus d’informations, consultez Sécurité pour le moteur de base de données SQL Server et Azure SQL Database.
Journaux des étapes de travail
SQL Server Agent peut écrire une sortie à partir de certaines étapes de travail dans un fichier de système d’exploitation ou dans la sysjobstepslogs table de la msdb base de données. Les types d'étapes de travail suivants peuvent écrire les résultats sur les deux destinations :
- Des programmes exécutables et des commandes du système d'exploitation
- Instructions de Transact-SQL
- Tâches des Analysis Services
Seules les étapes de travail exécutées par les utilisateurs membres du rôle serveur fixe sysadmin peuvent écrire la sortie de l’étape de travail dans les fichiers du système d’exploitation. Si les étapes de travail sont exécutées par les utilisateurs membres des rôles de base de données fixes suivants dans la msdb base de données, la sortie de ces étapes de travail peut être écrite uniquement dans la sysjobstepslogs table :
- SQLAgentUserRole
- SQLAgentReaderRole
- SQLAgentOperatorRole
Les journaux d'étapes de travail sont automatiquement supprimés dès lors que les travaux ou les étapes de travail sont supprimés.
Remarque
La journalisation des tâches de réplication et des étapes de travail des packages Integration Services est assurée par leur sous-système respectif. Vous ne pouvez pas utiliser SQL Server Agent pour configurer la journalisation des étapes de jog pour ces types d’étapes de travail.
Programmes exécutables et commandes du système d’exploitation en tant que étapes de travail
Les programmes exécutables et les commandes du système d'exploitation peuvent être utilisés en tant qu'étapes de travail. Ces fichiers peuvent avoir .batdes extensions , .cmd, .comou .exe des extensions de fichier.
Lorsque vous utilisez un programme exécutable ou une commande du système d'exploitation en tant qu'étape de travail, vous devez spécifier :
le code de sortie du processus renvoyé en cas de succès de la commande ;
La commande à exécuter. Pour exécuter une commande du système d'exploitation, il suffit de saisir la commande elle-même. Pour un programme externe, il s’agit du nom du programme et des arguments du programme, par exemple :
C:\Program Files\Microsoft SQL Server\160\Tools\Binn\sqlcmd.exe -e -q "sp_who"Indiquez le chemin d’accès complet à l’exécutable si l’exécutable n’est pas situé dans un répertoire spécifié dans le chemin d’accès système ou le chemin d’accès de l’utilisateur sur lequel l’étape du travail s’exécute.
Étapes de travail Transact-SQL
Lorsque vous créez une étape de travail Transact-SQL , vous devez :
identifier la base de données dans laquelle le travail va être exécuté ;
Taper l'instruction Transact-SQL à exécuter. L’instruction peut appeler une procédure stockée ou une procédure stockée étendue.
Vous pouvez éventuellement ouvrir un fichier Transact-SQL existant en tant que commande pour l'étape de travail.
Conseil / Astuce
Les étapes de travail T-SQL dans les travaux SQL Server Agent modifient la valeur de TEXTSIZE, pour limiter la longueur de certaines colonnes dans les jeux de résultats. Ce comportement peut entraîner des résultats inattendus. Par exemple, SELECT les requêtes qui fonctionnent comme prévu dans SQL Server Management Studio peuvent retourner des valeurs de colonne tronquées lorsqu’elles sont exécutées via SQL Server Agent. Pour éviter la troncation, définissez TEXTSIZE dans la requête exécutée par l'étape de tâche T-SQL.
Les étapes de travail Transact-SQL n’utilisent pas de proxys SQL Server Agent. Au lieu de cela, l'étape de tâche est exécutée par son propriétaire ou par le compte du service Agent SQL Server, si le propriétaire de l'étape de tâche est membre du rôle de serveur fixe sysadmin. Les membres du rôle de serveur fixe sysadmin peuvent également spécifier que les étapes de tâche Transact-SQL s’exécutent dans le contexte d’un autre utilisateur à l’aide du paramètre database_user_name de la sp_add_jobstep procédure stockée. Pour plus d’informations, consultez sp_add_jobstep.
Remarque
Une même étape de tâche Transact-SQL peut contenir plusieurs lots. Transact-SQL étapes de travail peuvent contenir des commandes incorporées GO .
Étapes de travail de scripts PowerShell
Lorsque vous créez une étape de travail de script PowerShell, vous devez spécifier l'un des deux éléments suivants comme commande pour l'étape :
- Le texte d'un script PowerShell.
- Un fichier de script PowerShell existant à ouvrir.
Le sous-système PowerShell de l’Agent SQL Server ouvre une session PowerShell et charge les composants logiciels enfichables SQL Server PowerShell. Le script PowerShell utilisé comme commande d’étape de travail peut faire référence aux applets de commande et au fournisseur SQL Server PowerShell PowerShell. Pour plus d’informations sur l’écriture de scripts PowerShell à l’aide des composants logiciels enfichables SQL Server PowerShell, consultez SQL Server PowerShell.
Étapes de la tâche de réplication
Lorsque vous créez des publications et des abonnements par le biais de la réplication, des travaux de réplication sont créés par défaut. Le type de travail créé dépend du type de réplication (instantané, transactionnelle ou fusion) et des options utilisées.
Les étapes de travail de réplication activent l'un des agents de réplication suivants :
- Agent d'instantané (travail Snapshot)
- Agent de lecture du journal (travail LogReader)
- Agent de distribution (travail de distribution)
- Agent de fusion (travail Merge)
- Agent de lecture de file d'attente (travail QueueReader)
Lorsque la réplication est configurée, vous pouvez spécifier l'un des trois modes d'exécution suivants pour les agents de réplication : en continu après le démarrage de l'Agent SQL Server , à la demande, ou selon un programme. Pour plus d’informations sur les agents de réplication, consultez Présentation des Agents de réplication.
Étapes des tâches d'Analysis Services
SQL Server Agent prend en charge deux types distincts d’étapes de travail Analysis Services : les étapes de travail de commande et les étapes de travail de requête.
Étapes de travail de commande Analysis Services
Lorsque vous créez une étape de commande pour les services d'analyse, vous devez :
identifier le serveur de bases de données OLAP sur lequel l'étape de travail doit s'exécuter ;
Taper l'instruction à exécuter. L’instruction doit être une méthode XML pour Analysis Services Execute. L’instruction peut ne pas contenir d’enveloppe SOAP complète ou d’une méthode XML pour Analysis Services Discover . Bien que SQL Server Management Studio prenne en charge les enveloppes SOAP complètes et la méthode Discover , les étapes de travail de SQL Server Agent ne le font pas.
Étapes de travail de requête Analysis Services
Lorsque vous créez une étape de travail de requête Analysis Services, vous devez :
- identifier le serveur de bases de données OLAP sur lequel l'étape de travail doit s'exécuter ;
- Taper l'instruction à exécuter. L'instruction doit être une requête MDX (Multidimensional Expressions).
Pour plus d’informations sur MDX, consultez Principes de base des instructions MDX (MDX).
Paquets des services d'intégration
Lorsque vous créez une étape de travail de package Integration Services, vous devez effectuer les étapes suivantes :
identifier la source du package ;
identifier l'emplacement du package ;
identifier les fichiers de configuration, dans la mesure où le package requiert des fichiers de configuration ;
identifier les fichiers de commandes, dans la mesure où le package requiert des fichiers de commandes ;
Identifier la vérification à utiliser pour le paquet. Par exemple, vous pouvez préciser que le package doit être signé ou posséder un ID de package spécifique ;
identifier les sources de données du package ;
Identifier les fournisseurs d'informations du package.
préciser les variables et les valeurs à définir préalablement à l'exécution du package ;
identifier les options d'exécution ;
ajouter ou modifier les options de ligne de commande.
Si vous avez déployé le package dans le catalogue SSIS et que vous spécifiez le catalogue SSIS comme source du package, une grande partie de ces informations de configuration est obtenue automatiquement à partir du package. Sous l’onglet Configuration , vous pouvez spécifier l’environnement, les valeurs de paramètres, les valeurs de gestionnaire de connexions, les substitutions de propriété, et si le package s’exécute dans un environnement 32 bits.
Pour plus d’informations sur la création d’étapes de travail qui exécutent des packages Integration Services, consultez Travaux SQL Server Agent pour packages.
Tâches associées
| Descriptif | Article |
|---|---|
| Décrit comment créer une étape de travail avec un programme exécutable. | Créer une étape de tâche CmdExec |
| Décrit comment réinitialiser les autorisations de SQL Server Agent. | Configurer un utilisateur pour créer et gérer des travaux SQL Server Agent |
| Décrit comment créer une étape de travail Transact-SQL . | Créer une étape de travail Transact-SQL |
| Décrit comment définir les options des étapes de travail Transact-SQL de l'Agent Microsoft SQL Server . | Définir les options d'une étape de travail Transact-SQL |
| Décrit comment créer une étape de travail de script ActiveX. | Créer une étape de travail de script ActiveX |
| Décrit comment créer et définir les étapes de travail de l'Agent SQL Server qui exécutent les commandes et requêtes Analysis Services de SQL Server . | Créer une étape de travail Analysis Services |
| Décrit quelle mesure SQL Server doit exécuter si une défaillance se produit pendant l'exécution d'une tâche. | Définir le flux de réussite ou d’échec de l’étape de travail |
| Décrit comment afficher les détails d'une étape de travail dans la boîte de dialogue Propriétés de l'étape du travail. | Afficher les informations sur l'étape du travail |
| Décrit comment supprimer un journal d'étapes de travail de l'Agent SQL Server . | Supprimer un journal d’étapes de travail |