Planifier un package à l'aide de SQL Server Agent
La procédure suivante fournit les étapes pour automatiser l'exécution d'un package en utilisant une étape de travail de SQL Server Agent pour exécuter le package.
Pour automatiser l'exécution des packages à l'aide de l'Agent SQL Server
Dans SQL Server Management Studio, connectez-vous à l'instance de SQL Server sur laquelle vous voulez créer un travail, ou l'instance contenant le travail auquel vous voulez ajouter une étape.
Développez le nœud de SQL Server Agent dans l'Explorateur d'objets et effectuez l'une des tâches suivantes :
Pour créer un nouveau travail, cliquez avec le bouton droit sur Travaux, puis cliquez sur Nouveau travail.
Pour ajouter une étape à un travail existant, développez Travaux, cliquez avec le bouton droit sur le travail, puis cliquez sur Propriétés.
Sur la page Général, si vous créez un nouveau travail, fournissez un nom de travail, sélectionnez un propriétaire et une catégorie de travail, et fournissez, si vous le souhaitez, une description du travail.
Pour rendre le travail disponible pour la planification, sélectionnez Activé.
Pour créer une étape de travail d'un package que vous souhaitez à planifier, cliquez sur Étapes, puis cliquez sur Nouveau.
Pour le type d'étape de travail, sélectionnez Package Integration Services.
Dans la liste Exécuter en tant que, sélectionnez Compte de service SQL Server Agent ou sélectionnez un compte proxy ayant les informations d'identification qui seront utilisées par le travail. Pour plus d'informations sur la création d'un compte proxy, consultez Créer un proxy de SQL Server Agent.
En utilisant un compte proxy au lieu du Compte de service SQL Server Agent, vous pouvez résoudre les problèmes courants qui peuvent se produire lors de l'exécution d'un package à l'aide de SQL Server Agent. Pour plus d'informations sur ces problèmes, consultez l'article de la Base de connaissances de MicrosoftUn package SSIS n'est pas exécuté lorsque vous appelez le package SSIS à partir d'une étape de travail de SQL Server Agent.
[!REMARQUE]
Si le mot de passe est différent de celui des informations d'identification que le compte proxy utilise, vous devez mettre à jour le mot de passe des informations d'identification. Autrement, l'étape de travail échouera.
Pour plus d'informations sur la configuration du compte de service SQL Server Agent, consultez Définir le compte de démarrage du service pour l'Agent SQL Server (Gestionnaire de configuration SQL Server).
Dans la zone de liste Source du package, cliquez sur la source du package et définissez les options de l'étape de travail.
Le tableau suivant décrit les sources de package possibles.
Source de package
Description
Catalogue SSIS
Packages stockés dans la base de données SSISDB. Les packages sont contenus dans les projets Integration Services déployés sur le serveur Integration Services.
SQL Server
Packages stockés dans la base de données MSDB. Vous utilisez le service Integration Services pour gérer les packages.
Magasin de packages SSIS
Packages stockés dans le dossier par défaut sur votre ordinateur. Le dossier par défaut est <lecteur>:\Program files\Microsoft SQL Server\110\DTS\Packages. Vous utilisez le service Integration Services pour gérer les packages.
[!REMARQUE]
Vous pouvez spécifier un dossier différent ou spécifier des dossiers supplémentaires dans le système de fichiers géré par le service Integration Services, en modifiant le fichier de configuration pour Integration Services. Pour plus d'informations, consultez Configuration du service Integration Services (Service SSIS).
Système de fichiers
Packages stockés dans un dossier sur votre ordinateur local.
Les tableaux suivants décrivent les options de configuration disponibles pour l'étape de travail en fonction de la source du package que vous sélectionnez.
Important
Si le package est protégé par mot de passe, lorsque vous cliquez sur l'un des onglets de la page Général de la boîte de dialogue Nouvelle étape de travail, à l'exception de l'onglet Package, vous devez entrer le mot de passe dans la boîte de dialogue Mot de passe du package qui s'affiche. Sinon, le travail de SQL Server Agent n'exécute pas le package.
Source du package : Catalogue SSIS
Onglet
Options
Package
Serveur
Tapez ou sélectionnez le nom de l'instance de serveur de base de données qui héberge le catalogue SSIS.
Lorsque Catalogue SSIS est la source du package, vous pouvez vous connecter au serveur à l'aide d'un compte d'utilisateur Microsoft Windows. L'authentification SQL Server n'est pas disponible.
Package
Cliquez sur le bouton de sélection (...) et sélectionnez un package.
Vous sélectionnez un package dans un dossier sous le nœud Catalogues Integration Services dans l'Explorateur d'objets.
Paramètres
Situés sur l'onglet Configuration.
Entrez les nouvelles valeurs des paramètres contenus dans le package. Vous pouvez entrer une valeur littérale ou utiliser la valeur contenue dans une variable d'environnement serveur que vous avez déjà mappée au paramètre.
Pour entrer la valeur littérale, cliquez sur le bouton de sélection en regard d'un paramètre. La boîte de dialogue Modifier la valeur littérale pour l'exécution s'affiche.
Pour utiliser une variable d'environnement, cliquez sur Environnement puis sélectionner l'environnement qui contient la variable que vous souhaitez utiliser.
Important
Si vous avez mappé plusieurs paramètres et/ou propriétés du gestionnaire de connexions à des variables contenues dans plusieurs environnements, SQL Server Agent affiche un message d'erreur. Pour une exécution données, un package peut s'exécuter uniquement avec les valeurs contenues dans un seul environnement.
Pour plus d'informations sur la création d'un environnement serveur et le mappage d'une variable à un paramètre, consultez Créer et mapper un environnement serveur.
L'onglet Paramètres affiche les paramètres que vous avez ajoutés lors de la conception du package, par exemple à l'aide de Outils de données SQL Server (SSDT). L'onglet affiche également les paramètres qui ont été ajoutés au package lors de la conversion du projet Integration Services du modèle de déploiement de package au modèle de déploiement de projet. L'Assistant Conversion de projet Integration Services vous permet de remplacer les configurations du package avec des paramètres.
Gestionnaires de connexions
Situés sur l'onglet Configuration.
Modifiez les valeurs des propriétés du gestionnaire de connexions. Par exemple, vous pouvez modifier le nom du serveur.
Les paramètres sont automatiquement générés sur le serveur SSIS pour les propriétés du gestionnaire de connexions.
Pour modifier une valeur de propriété, vous pouvez entrer une valeur littérale ou utiliser la valeur contenue dans une variable d'environnement serveur que vous avez déjà mappée à la propriété du gestionnaire de connexions.
Pour entrer la valeur littérale, cliquez sur le bouton de sélection en regard d'un paramètre. La boîte de dialogue Modifier la valeur littérale pour l'exécution s'affiche.
Pour utiliser une variable d'environnement, cliquez sur Environnement puis sélectionner l'environnement qui contient la variable que vous souhaitez utiliser.
Important
Si vous avez mappé plusieurs paramètres et/ou propriétés du gestionnaire de connexions à des variables contenues dans plusieurs environnements, SQL Server Agent affiche un message d'erreur. Pour une exécution données, un package peut s'exécuter uniquement avec les valeurs contenues dans un seul environnement.
Pour plus d'informations sur la création d'un environnement serveur et le mappage d'une variable à une propriété du gestionnaire de connexions, consultez Créer et mapper un environnement serveur.
Avancés
Situés sur l'onglet Configuration.
Configurez les paramètres supplémentaires suivants pour l'exécution du package.
- Substitutions de propriété
Cliquez sur Ajouter pour entrer une nouvelle valeur de propriété de package, spécifiez le chemin d'accès de la propriété, et indiquez si la valeur de la propriété est sensible. Le serveur Integration Services chiffre les données sensibles.
Pour modifier ou supprimer des paramètres de propriété, cliquez sur une ligne dans la zone de priorités Propriété puis cliquez sur Modifier ou sur Supprimer.
Vous pouvez trouver le chemin de la propriété en procédant de l'une des façons suivantes :
Copiez le chemin de la propriété à partir du fichier de configuration XML (*.dtsconfig). Le chemin d'accès est répertorié dans la section Configuration du fichier, comme valeur de l'attribut Path. Voici un exemple de chemin d'accès de la propriété MaximumErrorCount.
\Package.Properties[MaximumErrorCount]
Exécutez l'Assistant Configuration de package et copiez les chemins de la dernière page Fin de l'Assistant. Vous pouvez ensuite quitter l'Assistant.
[!REMARQUE]
L'option Substitutions de propriété concerne des packages contenant des configurations que vous avez mises à niveau depuis une version précédente de Integration Services. Les packages que vous créez à l'aide de SQL Server 2012 Integration Services (SSIS) et que vous déployez sur le serveur Integration Services utilisent des paramètres à la place des configurations.
- Niveau de journalisation
Sélectionnez l'un des niveaux de journalisation suivants pour l'exécution du package.
Le niveau de journalisation Performances ou Commentaires sélectionné peut affecter les performances de l'exécution du package.
Aucun
La journalisation est désactivée. Seul l'état d'exécution du package est enregistré.
Basic
Tous les événements sont enregistrés, sauf les événements personnalisés et de diagnostic. Il s'agit de la valeur par défaut du niveau de journalisation.
Performances
Seules les statistiques de performances, et les événements OnError et OnWarning, sont enregistrés.
Commentaires
Tous les événements sont enregistrés, y compris les événements personnalisés et de diagnostic.
Le niveau de journalisation que vous sélectionnez détermine quelles informations sont affichées dans les vues SSISDB et dans les rapports pour le serveur Integration Services. Pour plus d'informations, consultez Activer la journalisation des exécutions de package sur le serveur SSIS.
- Vider en cas d'erreurs
Déterminez si des fichiers de vidage du débogage sont générés lorsqu'une erreur se produit pendant l'exécution du package.
Les fichiers contiennent des informations sur l'exécution du package qui peuvent vous aider à résoudre les problèmes d'exécution.
Lorsque vous sélectionnez cette option, une erreur se produit pendant l'exécution, Integration Services crée un fichier .mdmp (fichier binaire) et un fichier .tmp (fichier texte). Par défaut, Integration Services stocke ces fichiers dans le dossier <lecteur>:\Program Files\Microsoft SQL Server\110\Shared\ErrorDumps.
- Runtime 32 bits
Indiquez si le package est exécuté à l'aide de la version 32 bits de l'utilitaire dtexec sur un ordinateur 64 bits contenant une version 64 bits de SQL Server et SQL Server Agent.
Il peut être nécessaire d'exécuter le package à l'aide de la version 32 bits de dtexec si, par exemple, le package utilise un fournisseur OLE DB natif qui n'est pas disponible en version 64 bits. Pour plus d'informations, consultez Considérations 64 bits pour Integration Services.
Par défaut, lorsque vous sélectionnez le type d'étape de travail Package SQL Server Integration Services, SQL Server Agent exécute le package à l'aide de la version de l'utilitaire dtexec qui est appelée automatiquement par le système. Le système appelle la version 32 bits ou 64 bits de l'utilitaire selon le processeur de l'ordinateur, et de la version de SQL Server et de SQL Server Agent qui s'exécute sur l'ordinateur.
Source du package : SQL Server, Magasin de packages SSIS ou Système de fichiers
Plusieurs options que vous pouvez définir pour les packages stockées dans SQL Server, le magasin de packages SSIS ou le système de fichiers, correspondent aux options de ligne de commande de l'utilitaire d'invite de commandes dtexec. Pour plus d'informations sur les options de l'utilitaire et de la ligne de commande, consultez Utilitaire dtexec.
Onglet
Options
Package
Voici les options de l'onglet pour les packages stockés dans SQL Server ou dans le magasin de packages d'SSIS.
Serveur
Tapez ou sélectionnez le nom de l'instance de serveur de base de données pour SQL Server ou pour le service Integration Services.
Utiliser l'authentification Windows
Sélectionnez cette option pour la connexion au serveur à l'aide d'un compte d'utilisateur Microsoft Windows.
Utiliser l'authentification SQL Server
Lorsqu'un utilisateur se connecte avec un nom d'accès et un mot de passe spécifiés à partir d'une connexion non autorisée, SQL Server réalise l'authentification en vérifiant si un compte de connexion SQL Server a été défini et si le mot de passe spécifié correspond à celui enregistré précédemment. Si SQL Server ne trouve pas le compte de connexion, l'authentification échoue et l'utilisateur reçoit un message d'erreur.
Nom d'utilisateur
Mot de passe
Package
Cliquez sur le bouton de sélection et sélectionnez le package.
Vous sélectionnez un package dans un dossier sous le nœud Packages stockés dans l'Explorateur d'objets.
Package
Voici les options de l'onglet pour les packages stockés dans le système de fichiers.
Package
Tapez le chemin d'accès complet du fichier de package, ou cliquez sur le bouton pour sélectionner le package.
Configurations
Ajoutez un fichier de configuration XML pour exécuter le package avec une configuration spécifique. Utilisez une configuration de package pour mettre à jour les valeurs des propriétés du package au moment de l'exécution.
Cette option correspond à l'option /ConfigFile de dtexec.
Pour comprendre le fonctionnement de l'application des configurations de package, consultez Configurations de package. Pour plus d'informations sur la création d'un configuration de package, consultez Créer des configurations de package.
Fichiers de commandes
Spécifiez les autres options que vous souhaitez exécuter avec dtexec, dans un fichier distinct.
Par exemple, vous pouvez inclure un fichier qui contient l'option /Dump errorcode, pour générer des fichiers de vidage du débogage lorsqu'un ou plusieurs événements spécifiques se produisent pendant l'exécution du package.
Vous pouvez exécuter un package avec des ensembles d'options différents en créant plusieurs fichiers et en spécifiant le fichier approprié à l'aide de l'option Fichiers de commandes.
L'option Fichiers de commandes correspond à l'option /CommandFile de dtexec.
Sources de données
Affichez les gestionnaires de connexions contenus dans le package. Pour modifier une chaîne de connexion, cliquez sur le gestionnaire de connexions et cliquez sur la chaîne de connexion.
Cette option correspond à l'option /Connection de dtexec.
Options d'exécution
- Mettre le package en échec en cas d'avertissements de validation
Indique si un avertissement est considéré une erreur. Si vous sélectionnez cette option et un avertissement se produit pendant la validation, le package échoue pendant la validation. Cette option correspond à l'option /WarnAsError de dtexec.
- Valider le package sans l'exécuter
Indique si l'exécution du package s'arrête après la phase de validation, sans exécuter effectivement le package. Cette option correspond à l'option /Validate de dtexec.
- Remplacer la propriété MacConcurrentExecutables
Spécifie le nombre de fichiers exécutables que le package peut exécuter simultanément. La valeur -1 signifie que le package peut exécuter simultanément un nombre maximal de fichiers exécutables égal au nombre total de processeurs sur l'ordinateur exécutant le package, plus deux. Cette option correspond à l'option /MaxConcurrent de dtexec.
- Activer les points de contrôle de package
Indique si le package utilise des points de contrôle pendant l'exécution du package. Pour plus d'informations, consultez Redémarrer des packages à l'aide de points de contrôle.
Ces options correspondent à l'option /CheckPointing de dtexec.
- Substituer les options de redémarrage
Indique si une nouvelle valeur est définie pour la propriété CheckpointUsage du package. Sélectionnez une valeur dans la zone de liste Option de redémarrage.
Cette option correspond à l'option /Restart de dtexec.
- Utiliser le runtime 32 bits
Indiquez si le package est exécuté à l'aide de la version 32 bits de l'utilitaire dtexec sur un ordinateur 64 bits contenant une version 64 bits de SQL Server et SQL Server Agent.
Il peut être nécessaire d'exécuter le package à l'aide de la version 32 bits de dtexec si, par exemple, le package utilise un fournisseur OLE DB natif qui n'est pas disponible en version 64 bits. Pour plus d'informations, consultez Considérations 64 bits pour Integration Services.
Par défaut, lorsque vous sélectionnez le type d'étape de travail Package SQL Server Integration Services, SQL Server Agent exécute le package à l'aide de la version de l'utilitaire dtexec qui est appelée automatiquement par le système. Le système appelle la version 32 bits ou 64 bits de l'utilitaire selon le processeur de l'ordinateur, et de la version de SQL Server et de SQL Server Agent qui s'exécute sur l'ordinateur.
Journaux
Associez un fournisseur d'informations à l'exécution du package.
- Module fournisseur d'informations SSIS pour les fichiers texte
Écrit les entrées du journal dans des fichiers texte ASCII
- Module fournisseur d'informations SSIS pour SQL Server
Écrit les entrées du journal dans la table sysssislog de la base de données MSDB.
- Module fournisseur d'informations SSIS pour SQL Server Profiler
Écrit des traces que vous pouvez afficher à l'aide du Générateur de profils SQL Server.
- Module fournisseur d'informations SSIS pour le journal d'événements Windows
Écrit des entrées dans le journal Application du journal des événements Windows.
- Module fournisseur d'informations SSIS pour les fichiers XML
Écrit des fichiers journaux dans un fichier XML.
Pour le fichier texte, le fichier XML et les fournisseurs d'informations du Générateur de profils SQL Server, sélectionnez les gestionnaires de connexions des fichiers contenus dans le package. Pour le fournisseur d'informations SQL Server, sélectionnez un gestionnaire de connexions OLE DB contenu dans le package.
Cette option correspond à l'option /Logger de dtexec.
Valeurs définies
Substituez un paramètre de propriété du package. Dans la zone Propriétés, entrez des valeurs dans les colonnes Chemin d'accès de la propriété et Valeur. Après avoir entré les valeurs d'une propriété, une ligne vide apparaît dans la zone Propriétés et vous permet d'entrer des valeurs pour une autre propriété.
Pour supprimer une propriété de la zone Propriétés, cliquez sur la ligne puis cliquez sur Supprimer.
Vous pouvez trouver le chemin de la propriété en procédant de l'une des façons suivantes :
Copiez le chemin de la propriété à partir du fichier de configuration XML (*.dtsconfig). Le chemin d'accès est répertorié dans la section Configuration du fichier, comme valeur de l'attribut Path. Voici un exemple de chemin d'accès de la propriété MaximumErrorCount.
\Package.Properties[MaximumErrorCount]
Exécutez l'Assistant Configuration de package et copiez les chemins de la dernière page Fin de l'Assistant. Vous pouvez ensuite quitter l'Assistant.
Vérification
- Exécuter uniquement les packages signés
Indique si la signature du package est vérifiée. Si le package n'est pas signé ou si la signature n'est pas valide, le package échoue. Cette option correspond à l'option /VerifySigned de dtexec.
- Vérifier la version du package
Indique si le numéro de build du package est vérifié par rapport au numéro de build entré dans la zone Build en regard de cette option. En cas de non-concordance, le package ne s'exécute pas. Cette option correspond à l'option /VerifyBuild de dtexec.
- Vérifier l'ID de package
Indique si le GUID du package est valide, en le comparant à l'ID de package entré dans la zone ID du package en regard de cette option. Cette option correspond à l'option /VerifyPackageID de dtexec.
- Vérifier l'ID de version
Indique si le GUID de la version est valide, en le comparant à l'ID de version entré dans la zone ID de version en regard de cette option. Cette option correspond à l'option /VerifyVersionID de dtexec.
Ligne de commande
Modifiez les options de ligne de commande de l'utilitaire dtexec. Pour plus d'informations sur les options, consultez Utilitaire dtexec.
Conseil Copiez la ligne de commande dans une fenêtre d'invite de commandes, ajoutez dtexec, puis exécutez le package à partir de la ligne de commande. C'est une solution simple pour générer le texte dans la ligne de commande.
- Restaurer les options d'origine
Utilisez les options de ligne de commande que vous avez définies dans les onglets Package, Configurations, Fichiers de commandes, Sources de données, Options d'exécution, Journalisation, Valeurs définies et Vérification de la boîte de dialogue Propriétés de travail.
- Modifier la commande manuellement
Entrez les options de ligne de commande supplémentaires dans la zone Ligne de commande.
Avant de cliquer sur OK pour enregistrer les modifications apportées à l'étape du travail, vous pouvez supprimer toutes les autres options que vous avez tapées dans la zone Ligne de commande en cliquant sur Restaurer les options d'origine.
Cliquez sur OK pour enregistrer les paramètres et fermer la boîte de dialogue Nouvelle étape de travail.
[!REMARQUE]
Pour les packages enregistrés dans le Catalogue SSIS, le bouton OK est désactivé lorsqu'il existe un paramètre de propriété du gestionnaire de connexions, ou un autre paramètre, non résolu. Un paramètre est considéré comme non résolu lorsque vous utilisez une valeur contenue dans une variable d'environnement serveur pour définir le paramètre ou la propriété, et lorsque l'une des conditions suivantes est remplie.
-
La case à cocher Environnement sous l'onglet Configuration n'est pas sélectionnée.
-
L'environnement serveur qui contient la variable n'est pas sélectionné dans la zone de liste de l'onglet Configuration.
-
Pour créer une planification pour une étape de travail, cliquez sur Planifications dans le volet Sélectionner une page. Pour plus d'informations sur la manière de configurer une planification, consultez Planifier un travail.
Conseil Lorsque vous nommez la planification, utilisez un nom unique et un descriptif, pour différencier plus facilement la planification des autres planifications de SQL Server Agent.