Partager via


Utilitaire dtexec

L'utilitaire d'invite de commandes dtexec sert à configurer et à exécuter des packages SQL Server Integration Services. L'utilitaire dtexec fournit un accès à toutes les fonctions de configuration et d'exécution de packages, telles que les paramètres, les connexions, les propriétés, les variables, la journalisation et les indicateurs de progression. L'utilitaire dtexec vous permet de charger des packages à partir de ces sources : le serveur Integration Services, un fichier de projet .ispac, une base de données Microsoft SQL Server, le magasin de packages SSIS et le système de fichiers.

[!REMARQUE]

Lorsque vous utilisez la version de l'utilitaire dtexec fournie avec SQL Server 2012 Integration Services (SSIS) pour exécuter un package SQL Server 2005 Integration Services (SSIS) ou SQL Server 2008 Integration Services (SSIS), Integration Services met temporairement à niveau le package vers SQL Server 2012 Integration Services (SSIS). Toutefois, vous ne pouvez pas recourir à l'utilitaire dtexec pour enregistrer ces modifications mises à niveau. Pour plus d'informations sur la mise à niveau définitive d'un package vers SQL Server 2012 Integration Services (SSIS), consultez Mettre à niveau des packages Integration Services.

Cette rubrique comprend les sections suivantes :

  • Integration Services Server and Project File

  • Installation Considerations on 64-bit Computers

  • Considerations for Side-by-Side Installations

  • Phases of Execution

  • Exit Codes Returned

  • Syntax Rules

  • Using dtexec from the xp_cmdshell

  • Syntax

  • Parameters

  • Remarks

  • Examples

Serveur et fichier projet Integration Services

Lorsque vous utilisez dtexec pour exécuter des packages sur le serveur Integration Services, dtexec appelle les procédures stockées catalog.create_execution (base de données SSISDB), catalog.set_execution_parameter_value (base de données SSISDB) et catalog.start_execution (base de données SSISDB) pour créer une exécution, définir des valeurs de paramètres et démarrer l'exécution. Tous les journaux des exécutions peuvent être consultés à partir du serveur dans les vues associées ou via les rapports standard disponibles dans SQL Server Management Studio. Pour plus d'informations sur les rapports, consultez Rapports du serveur Integration Services.

Voici un exemple d'exécution de package sur le serveur Integration Services.

DTExec /ISSERVER "\SSISDB\folderB\Integration Services Project17\Package.dtsx" /SERVER "." /Envreference 2 /Par "$Project::ProjectParameter(Int32)";1 /Par "Parameter(Int32)";21 /Par "CM.sqlcldb2.SSIS_repro.InitialCatalog";ssisdb /Par "$ServerOption::SYNCHRONIZED(Boolean)";True

Lorsque vous utilisez dtexec pour exécuter un package à partir du fichier de projet .ispac, les options associées sont : /Proj[ect] et /Pack[age], qui permettent d'indiquer le chemin d'accès au projet et le nom de flux du package. Lorsque vous convertissez un projet en modèle de déploiement de projet en exécutant l'Assistant Conversion de projet Integration Services de SQL Server Management Studio, l'Assistant génère un fichier projet .ispac. Pour plus d'informations, consultez Déployer des projets sur le serveur Integration Services.

Vous pouvez utiliser dtexec avec des outils de planification tiers pour planifier les packages qui sont déployés sur le serveur Integration Services.

Considérations concernant l'installation sur les ordinateurs 64 bits

Sur un ordinateur 64 bits, Integration Services installe une version 64 bits de l'utilitaire dtexec (dtexec.exe). Si vous devez exécuter certains packages en mode 32 bits, installez la version 32 bits de l'utilitaire dtexec. Pour installer la version 32 bits de l'utilitaire dtexec, vous devez sélectionner Outils clients ou Outils de données SQL Server (SSDT) lors de l'installation.

Par défaut, un ordinateur 64 bits qui dispose à la fois des versions 64 bits et 32 bits d'une invite de commandes Integration Services doit pouvoir exécuter la version 32 bits. La version 32 bits s'exécute car le chemin d'accès au répertoire de la version 32 bits apparaît dans la variable d'environnement PATH avant le chemin d'accès au répertoire de la version 64 bits. (En général, le chemin d'accès au répertoire 32 bits est <lecteur>:\Program Files(x86)\Microsoft SQL Server\110\DTS\Binn, tandis que le chemin d'accès au répertoire 64 bits est <lecteur>:\Program Files\Microsoft SQL Server\110\DTS\Binn.)

[!REMARQUE]

Si vous utilisez SQL Server Agent pour exécuter l'utilitaire, il utilise automatiquement la version 64 bits de ce dernier. SQL Server Agent utilise le Registre, et non la variable d'environnement PATH, pour localiser le fichier exécutable correct de l'utilitaire.

Pour vous assurer que vous exécutez la version 64 bits de l'utilitaire à l'invite de commandes, vous pouvez effectuer l'une des actions suivantes :

  • Ouvrez une fenêtre d'invite de commandes, accédez au répertoire qui contient la version 64 bits de l'utilitaire (<lecteur>: \Program Files\Microsoft SQL Server\110\DTS\Binn), puis exécutez l'utilitaire à partir de cet emplacement.

  • À l'invite de commandes, exécutez l'utilitaire en entrant le chemin d'accès complet (<lecteur>: \Program Files\Microsoft SQL Server\110\DTS\Binn) à la version 64 bits de l'utilitaire.

  • Modifiez de manière définitive l'ordre des chemins d'accès dans la variable d'environnement PATH en plaçant le chemin d'accès 64 bits (<lecteur>: \Program Files\Microsoft SQL Server\110\DTS\Binn) avant le chemin 32 bits (<lecteur>:\ Program Files(x86)\Microsoft SQL Server\110\DTS\Binn) dans la variable.

Remarques concernant les ordinateurs dotés d'installations côte à côte

Lorsque SQL Server 2012 Integration Services (SSIS) est installé sur un ordinateur sur lequel SQL Server 2005 Integration Services (SSIS) ou SQL Server 2008 Integration Services (SSIS) est installé, plusieurs versions de l'utilitaire dtexec sont installées.

Pour vous assurer que vous exécutez la version appropriée de l'utilitaire, à l'invite de commandes, exécutez l'utilitaire en entrant le chemin d'accès complet (<drive>:\Program Files\Microsoft SQL Server\<version>\DTS\Binn).

Phases d'exécution

L'utilitaire s'exécute en quatre phases. Ces phases sont les suivantes :

  1. Phase de source de commande : L'invite de commandes lit la liste d'options et d'arguments spécifiés. Toutes les phases suivantes sont ignorées si une option /? ou /HELP est rencontrée.

  2. Phase de chargement de package : Le package spécifié par l'option /SQL, /FILE ou /DTS est chargé.

  3. Phase de configuration : Les options sont traitées dans l'ordre suivant :

    • Les options qui définissent les indicateurs, les variables et les propriétés de package.

    • Les options qui vérifient les numéros de version et de construction du package.

    • Les options qui configurent le comportement de l'utilitaire au moment de l'exécution, par exemple la génération de rapports.

  4. Phase de validation et d'exécution : Le package est exécuté ou validé sans exécution si l'option /VALIDATE a été spécifiée.

Codes de sortie retournés

Code de sortie retourné par l'utilitaire dtexec

Lorsqu'un package s'exécute, dtexec peut retourner un code de sortie. Le code de sortie est utilisé pour remplir la variable ERRORLEVEL, dont la valeur peut être testée dans des instructions conditionnelles ou la logique dans un fichier de commandes. Le tableau suivant répertorie les valeurs que l'utilitaire dtexec peut définir lors de la sortie.

Valeur

Description

0

L'exécution du package a réussi.

1

Le package a échoué.

3

Le package a été annulé par l'utilisateur.

4

L'utilitaire n'a pas pu localiser le package demandé. Le package est introuvable.

5

L'utilitaire n'a pas pu localiser le package demandé. Le package ne peut pas être chargé.

6

L'utilitaire a rencontré une erreur interne, ou des erreurs syntaxiques ou sémantiques dans la ligne de commande.

Règles de la syntaxe

Règles de syntaxe de l'utilitaire

Toutes les options doivent commencer par une barre oblique (/) ou par un signe moins (-). Les options qui sont présentées ici commencent par une barre oblique (/), mais le signe moins (-) peut être utilisé à la place.

Un argument doit être placé entre guillemets s'il contient un espace. Si l'argument n'est pas placé entre guillemets, il ne peut pas contenir d'espaces.

Des guillemets doublés à l'intérieur des chaînes entre guillemets représentent des guillemets simples placés en mode d'échappement.

Les options et les arguments ne respectent pas la casse, à l'exception des mots de passe.

Utilisation de dtexec à partir de l'invite xp_cmdshell

Utilisation de dtexec à partir de l'invite xp_cmdshell

Vous pouvez exécuter dtexec à partir de l'invite xp_cmdshell. L'exemple suivant indique comment exécuter un package nommé UpsertData.dtsx et ignorer le code de retour :

EXEC xp_cmdshell 'dtexec /f "C:\UpsertData.dtsx"'

L'exemple suivant indique comment exécuter le même package et capturer le code de retour :

DECLARE @returncode int
EXEC @returncode = xp_cmdshell 'dtexec /f "C:\UpsertData.dtsx"'

Important

Dans Microsoft SQL Server, l'option xp_cmdshell est désactivée par défaut sur les nouvelles installations. Elle peut être activée en exécutant la procédure stockée système sp_configure. Pour plus d'informations, consultez xp_cmdshell (option de configuration de serveur).

Syntaxe

dtexec /option [value] [/option [value]]...

Paramètres

Option

Description

/?[option_name]

(Facultatif). Affiche les options d'invite de commandes ou l'aide pour l'argument option_name spécifié, puis ferme l'utilitaire.

Si vous spécifiez un argument option_name, dtexec démarre la documentation en ligne de SQL Server et affiche la rubrique de l'utilitaire dtexec.

/Ca[llerInfo]

(Facultatif). Spécifie des informations supplémentaires pour l'exécution d'un package. Lorsque vous exécutez un package à l'aide de SQL Server Agent, l'agent définit cet argument afin d'indiquer que l'exécution du package est appelée par SQL Server Agent. Ce paramètre est ignoré lorsque l'utilitaire dtexec est exécuté à partir de la ligne de commande.

/CheckF[ile] filespec

(Facultatif). Affecte à la propriété CheckpointFileName du package le chemin d'accès et le fichier spécifiés dans filespec. Ce fichier est utilisé lors du redémarrage du package. Si cette option est spécifiée et si aucune valeur n'est fournie pour le nom de fichier, le CheckpointFileName pour le package est défini à une chaîne vide. Si cette option n'est pas spécifiée, les valeurs dans le package sont conservées.

/CheckP[ointing]{on\off}

(Facultatif). Définit une valeur qui détermine si le package utilise des points de contrôle pendant l'exécution du package. La valeur on spécifie qu'un package ayant échoué doit être relancé. Lorsque le package ayant échoué est relancé, le moteur d'exécution utilise le fichier de point de contrôle pour redémarrer le package à partir du point d'échec.

La valeur par défaut est « on » si l'option est déclarée sans valeur. L'exécution du package échoue si la valeur « on » est choisie et si le fichier de point de contrôle demeure introuvable. Si cette option n'est pas spécifiée, la valeur définie dans le package est conservée. Pour plus d'informations, consultez Redémarrer des packages à l'aide de points de contrôle.

L'option /CheckPointing on de dtexec revient à définir la propriété SaveCheckpoints du package à True, et la propriété CheckpointUsage à Always.

/Com[mandFile] filespec

(Facultatif). Spécifie les options de commande qui s'exécutent avec dtexec. Le fichier spécifié dans filespec est ouvert et les options du fichier sont lues jusqu'à ce que EOF soit rencontré dans le fichier. filespec est un fichier texte. L'argument filespec spécifie le nom et le chemin du fichier de commandes associé à l'exécution du package.

/Conf[igFile] filespec

(Facultatif). Spécifie un fichier de configuration dont des valeurs sont extraites. Avec cette option, vous pouvez définir une configuration d'exécution qui est différente de celle qui a été spécifiée au moment de la conception du package. Vous pouvez stocker différents paramètres de configuration dans le fichier de configuration XML, puis charger les paramètres avant l'exécution du package à l'aide de l'option /ConfigFile.

Vous pouvez utiliser l'option /ConfigFile pour charger des configurations supplémentaires au moment de l'exécution et que vous n'aviez pas spécifiées au moment du design. Toutefois, vous ne pouvez pas utiliser l'option /ConfigFile pour remplacer des valeurs configurées que vous aviez également spécifiées au moment du design. Pour comprendre le fonctionnement de l'application des configurations de package, consultez Configurations de package.

/Conn[ection] id_or_name;connection_string [[;id_or_name;connection_string]…]

(Facultatif). Spécifie que le gestionnaire de connexions avec le nom ou le GUID indiqué est fourni dans le package et spécifie une chaîne de connexion valide.

Cette option nécessite la spécification des deux paramètres : le nom ou le GUID du gestionnaire de connexions doit être fourni dans l'argument id_or_name et une chaîne de connexion valide doit être spécifiée dans l'argument connection_string. Pour plus d'informations, consultez Connexions Integration Services (SSIS).

Au moment de l'exécution, vous pouvez utiliser l'option /Connection pour charger les configurations de package à partir d'un autre emplacement que celui que vous avez spécifié au moment du design. Les valeurs de ces configurations remplacent alors les valeurs spécifiées à l'origine. Toutefois, vous ne pouvez utiliser l'option /Connection que pour les configurations (par exemple les configurations SQL Server) qui utilisent un gestionnaire de connexions. Pour comprendre le fonctionnement de l'application des configurations de package, consultez Configurations de package et Changements de comportement des fonctionnalités Integration Services dans SQL Server 2012.

/Cons[oleLog] [[displayoptions];[list_options;src_name_or_guid]...]

(Facultatif). Affiche les entrées de journal spécifiées sur la console pendant l'exécution du package. Si cette option est omise, aucune entrée de journal ne s'affiche sur la console. Si l'option est spécifiée sans paramètre de restriction d'affichage, toutes les entrées du journal s'affichent. Pour limiter les entrées affichées sur la console, vous pouvez spécifier les colonnes à inclure à l'aide du paramètre displayoptions, puis limiter les types d'entrée de journal à l'aide du paramètre list_options.

Les valeurs displayoptions sont les suivantes :

  • N (Nom)

  • C (Ordinateur)

  • O (Opérateur)

  • S (Nom de source)

  • G (GUID de source)

  • X (GUID d'exécution)

  • M (Message)

  • T (Heure de début et de fin)

Les valeurs list_options sont les suivantes :

  • I - Spécifie la liste d'inclusion. Seuls les noms ou GUID de source qui sont spécifiés sont consignés.

  • E - Spécifie la liste d'exclusion. Les noms ou GUID de source qui sont spécifiés ne sont pas consignés.

  • Le paramètre src_name_or_guid spécifié pour inclusion ou exclusion est un nom d'événement, un nom de source ou un GUID de source.

Si vous utilisez plusieurs options /ConsoleLog sur la même invite de commandes, elles interagissent de la manière suivante :

  • L'ordre d'occurrence n'a aucun effet.

  • Si aucune liste d'inclusion n'est présente sur la ligne de commande, des listes d'exclusion sont appliquées sur tous les types d'entrée de journal.

  • Si des listes d'inclusion sont présentes sur la ligne de commande, les listes d'exclusion sont appliquées sur l'union de toutes les listes d'inclusion.

Pour afficher plusieurs exemples de l'option /ConsoleLog, consultez la section Remarques.

/D[ts] package_path

(Facultatif). Charge un package à partir du magasin de packages SSIS. Les packages stockés dans le Magasin de packages SSIS sont déployés à l'aide du modèle de déploiement de package hérité. Pour exécuter les packages qui sont déployés sur le serveur Integration Services à l'aide du modèle de déploiement de projet, utilisez l'option /ISServer. Pour plus d'informations sur les modèles de déploiement de package et de projet, consultez Déploiement de projets et de packages.

L'argument package_path spécifie le chemin relatif du package SSIS, commençant à la racine du Magasin de packages SSIS, et inclut le nom du package SSIS. Si le chemin d'accès ou le nom de fichier spécifié dans l'argument package_path contient un espace, vous devez placer l'argument package_path entre guillemets.

L'option /DTS ne peut pas être utilisée avec l'option /File ou /SQL. Si plusieurs options sont spécifiées, dtexec échoue.

/De[crypt] password

(Facultatif). Définit le mot de passe de déchiffrement qui est utilisé lorsque vous chargez un package avec chiffrement de mot de passe.

/Dumperror code

(Facultatif) Crée les fichiers de vidage du débogage, .mdmp et .tmp, lorsqu'un ou plusieurs événements spécifiés se produisent pendant l'exécution du package. L'argument error code spécifie le type de code d'événement (erreur, avertissement ou information) qui déclenchera la création, par le système, des fichiers de vidage du débogage. Pour spécifier plusieurs codes d'événement, séparez chaque argument error code par un point-virgule (;). N'incluez pas de guillemets avec l'argument error code.

L'exemple suivant génère les fichiers de vidage du débogage lorsqu'une erreur DTS_E_CANNOTACQUIRECONNECTIONFROMCONNECTIONMANAGER se produit.

/Dump 0xC020801C

Par défaut, Integration Services stocke les fichiers de vidage du débogage dans le dossier <lecteur>:\Program Files\Microsoft SQL Server\110\Shared\ErrorDumps.

[!REMARQUE]

Les fichiers de vidage du débogage peuvent contenir des informations sensibles. Utilisez une liste de contrôle d'accès (ACL) pour restreindre l'accès aux fichiers, ou copiez les fichiers dans un dossier avec accès limité. Par exemple, nous vous recommandons de supprimer toutes les informations sensibles ou confidentielles avant d'envoyer vos fichiers de débogage aux services de support technique de Microsoft.

Appliquer cette option à tous les packages exécutés par l'utilitaire dtexec, ajoutez une valeur REG_SZ DumpOnCodes à la clé de Registre HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Microsoft SQL Server\110\SSIS\Setup\DtsPath. La valeur de données dans DumpOnCodes spécifie le ou les codes d'erreur qui déclencheront la création, par le système, des fichiers de vidage du débogage. Plusieurs codes d'erreur doivent être séparés par un point-virgule (;).

Si vous ajoutez une valeur DumpOnCodes à la clé de Registre, et que vous utilisez l'option /Dump, le système créera des fichiers de vidage du débogage qui sont basés sur les deux paramètres.

Pour plus d'informations sur les fichiers de vidage du débogage, consultez Générer de fichiers de vidage pour l'exécution des packages.

/DumpOnError

(Facultatif) Crée les fichiers de vidage du débogage, .mdmp et .tmp, lorsqu'une erreur se produit pendant l'exécution du package.

Par défaut, Integration Services stocke les fichiers de vidage du débogage dans le dossier <lecteur>:\Program Files\Microsoft SQL Server\110\Shared\ErrorDumps.

[!REMARQUE]

Les fichiers de vidage du débogage peuvent contenir des informations sensibles. Utilisez une liste de contrôle d'accès (ACL) pour restreindre l'accès aux fichiers, ou copiez les fichiers dans un dossier avec accès limité. Par exemple, nous vous recommandons de supprimer toutes les informations sensibles ou confidentielles avant d'envoyer vos fichiers de débogage aux services de support technique de Microsoft.

Pour appliquer cette option à tous les packages exécutés par l'utilitaire dtexec, ajoutez une valeur REG_DWORD DumpOnError à la clé de Registre HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Microsoft SQL Server\110\SSIS\Setup\DtsPath. La valeur REG_DWORD DumpOnError détermine si l'option /DumpOnError doit être employée avec l'utilitaire dtexec :

  • Une valeur de données différente de zéro indique que le système créera des fichiers de vidage du débogage lorsqu'une erreur se produira, que vous utilisiez, ou non, l'option /DumpOnError avec l'utilitaire dtexec.

  • Une valeur zéro indique que le système ne créera les fichiers de vidage du débogage que si vous utilisez l'option /DumpOnError avec l'utilitaire dtexec.

Pour plus d'informations sur les fichiers de vidage du débogage, consultez Générer de fichiers de vidage pour l'exécution des packages.

/Env[Reference] environment reference ID

(Facultatif). Spécifie la référence environnementale (ID) utilisée par l'exécution du package, dans le cas d'un package déployé sur le serveur Integration Services. Les paramètres configurés pour la liaison aux variables utilisent les valeurs des variables contenues dans l'environnement.

Utilisez l'option /Env[Reference] conjointement avec les options /ISServer et /Server.

Ce paramètre est utilisé par SQL Server Agent.

/F[ile] filespec

(Facultatif). Charge un package qui est enregistré dans le système de fichiers. Les packages enregistrés dans le système de fichiers sont déployés à l'aide du modèle de déploiement de package hérité. Pour exécuter les packages qui sont déployés sur le serveur Integration Services à l'aide du modèle de déploiement de projet, utilisez l'option /ISServer. Pour plus d'informations sur les modèles de déploiement de package et de projet, consultez Déploiement de projets et de packages.

L'argument filespec spécifie le chemin d'accès et le nom de fichier du package. Vous pouvez spécifier le chemin d'accès en tant que chemin UNC (Universal Naming Convention) ou chemin d'accès local. Si le chemin d'accès ou le nom de fichier spécifié dans l'argument filespec contient un espace, vous devez placer l'argument filespec entre guillemets.

L'option /File ne peut pas être utilisée avec l'option /DTS ou /SQL. Si plusieurs options sont spécifiées, dtexec échoue.

/H[elp] [option_name]

(Facultatif). Affiche de l'aide pour les options ou pour l'argument option_name spécifié, puis ferme l'utilitaire.

Si vous spécifiez un argument option_name, dtexec démarre la documentation en ligne de SQL Server et affiche la rubrique de l'utilitaire dtexec.

/ISServer packagepath

(Facultatif). Exécute un package déployé sur le serveur Integration Services. L'argument PackagePath spécifie le nom de fichier et le chemin d'accès complet du package déployé sur le serveur Integration Services. Si le chemin d'accès ou le nom de fichier spécifié dans l'argument PackagePath contient un espace, vous devez placer l'argument PackagePath entre guillemets.

Le format du package est le suivant :

\<catalog name>\<folder name>\<project name>\package file name

Utilisez l'option /Server conjointement avec l'option /ISSERVER. Seule l'authentification Windows peut exécuter un package sur le serveur SSIS. L'accès au package s'effectue via l'utilisateur Windows actuel. Si l'option /Server est omise, l'instance locale par défaut de SQL Server est utilisée.

L'option /ISSERVER ne peut pas être utilisée avec l'option /DTS, /SQL ou /File. Si plusieurs options sont spécifiées, dtexec échoue.

Ce paramètre est utilisé par SQL Server Agent.

/L[ogger] classid_orprogid;configstring

(Facultatif). Associe un ou plusieurs modules fournisseurs d'informations avec l'exécution d'un package SSIS. Le paramètre classid_orprogid spécifie le module fournisseur d'informations et peut être spécifié en tant que GUID de classe. L'argument configstring correspond à la chaîne utilisée pour configurer le module fournisseur d'informations.

La liste suivante affiche les modules fournisseurs d'informations disponibles :

  • Fichier texte :

    • ProgID: DTS.LogProviderTextFile.1

    • ClassID: {59B2C6A5-663F-4C20-8863-C83F9B72E2EB}

  • SQL Server Profiler:

    • ProgID: DTS.LogProviderSQLProfiler.1

    • ClassID: {5C0B8D21-E9AA-462E-BA34-30FF5F7A42A1}

  • SQL Server:

    • ProgID: DTS.LogProviderSQLServer.1

    • ClassID: {6AA833A1-E4B2-4431-831B-DE695049DC61}

  • Journaux d'événements Windows :

    • ProgID: DTS.LogProviderEventLog.1

    • ClassID: {97634F75-1DC7-4F1F-8A4C-DAF0E13AAA22}

  • Fichier XML :

    • ProgID: DTS.LogProviderXMLFile.1

    • ClassID: {AFED6884-619C-484F-9A09-F42D56E1A7EA}

/M[axConcurrent] concurrent_executables

(Facultatif). Spécifie le nombre de fichiers exécutables que le package peut exécuter simultanément. La valeur spécifiée doit être un entier non négatif ou -1. La valeur -1 signifie que SSIS permet l'exécution simultanée d'un nombre maximal d'exécutables égal au nombre total de processeurs sur l'ordinateur exécutant le package, plus deux.

/Pack[age] PackageName

(Facultatif). Spécifie le package à exécuter. Ce paramètre est principalement utilisé lorsque vous exécutez le package à partir de Visual Studio.

/P[assword] password

(Facultatif). Permet la récupération d'un package protégé par l'authentification SQL Server. Cette option est utilisée conjointement avec l'option /User. Si l'option /Password est omise et si l'option /User est utilisée, un mot de passe vide est employé. La valeur password peut être mise entre guillemets.

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

Lorsque c'est possible, utilisez l'authentification Windows.

/Par[ameter] [$Package:: | $Project:: | $ServerOption::] parameter_name [(data_type)]; literal_value

(Facultatif). Spécifie les valeurs de paramètres. Vous pouvez spécifier plusieurs options /Parameter. Les types de données sont des TypeCodes CLR définis en tant que chaînes. Pour un paramètre qui n'est pas une chaîne, le type de données est spécifié entre parenthèses, après le nom du paramètre.

L'option /Parameter peut être utilisée uniquement avec l'option /ISServer.

Utilisez les préfixes $Package, $Project et $ServerOption pour indiquer un paramètre de package, un paramètre de projet et un paramètre d'option de serveur, respectivement. Le type de paramètre par défaut est package.

Voici un exemple qui illustre l'exécution d'un package et la spécification de myvalue pour le paramètre de projet (myparam) et de la valeur entière 12 pour le paramètre de package (anotherparam).

Dtexec /isserver “SSISDB\MyFolder\MyProject\MyPackage.dtsx” /server “.” /parameter $Project::myparam;myvalue /parameter anotherparam(int32);12

Vous pouvez également définir les propriétés du Gestionnaire de connexions à l'aide des paramètres. Utilisez le préfixe CM pour désigner un paramètre du Gestionnaire de connexions.

Dans l'exemple suivant, la propriété InitialCatalog du Gestionnaire de connexions SourceServer a la valeur ssisdb.

/parameter CM.SourceServer.InitialCatalog;ssisdb

Dans l'exemple suivant, la propriété ServerName du Gestionnaire de connexions SourceServer est définie sur un point (.) pour indiquer le serveur local.

/parameter CM.SourceServer.ServerName;.

/Proj[ect] ProjectFile

(Facultatif). Spécifie le projet à partir duquel le package à exécuter doit être récupéré. L'argument ProjectFile spécifie le nom du fichier .ispac. Ce paramètre est principalement utilisé lorsque vous exécutez le package à partir de Visual Studio.

/Rem comment

(Facultatif). Inclut des commentaires sur l'invite de commandes ou dans des fichiers de commandes. Cet argument est facultatif. La valeur comment est une chaîne à mettre entre guillemets, ou qui ne contient aucun espace. Si aucun argument n'est spécifié, une ligne vide est insérée. Les valeurs comment sont rejetées pendant la phase source de la commande.

/Rep[orting] level [;event_guid_or_name[;event_guid_or_name[...]]

(Facultatif). Spécifie les types de message à produire. Les options de rapport disponibles pour level sont les suivantes :

N : pas de rapport.

E : les erreurs sont signalées.

W : les avertissements sont inclus dans le rapport.

I : les messages d'information sont inclus dans le rapport.

C : les événements personnalisés sont inclus dans le rapport.

D : les événements de la tâche de flux de données sont inclus dans le rapport.

P : l'avancement est inclus dans le rapport.

V : rapport exhaustif.

Les arguments de V et N sont mutuellement exclusifs à tous les autres arguments ; ils doivent être spécifiés seuls. Si l'option /Reporting n'est pas spécifiée, le niveau par défaut est E (erreurs), W (avertissement) et P (progression).

Tous les événements sont précédés d'un horodateur dans le format « AA/MM/JJ HH:MM:SS », ainsi que d'un GUID ou d'un nom convivial, si disponible.

Le paramètre facultatif event_guid_or_name correspond à une liste d'exceptions pour les modules fournisseurs d'informations. L'exception spécifie les événements qui ne sont pas journalisés et qui sinon auraient pu l'être.

Vous n'avez pas besoin d'exclure un événement si celui-ci n'est pas habituellement journalisé par défaut.

/Res[tart] {deny | force | ifPossible}

(Facultatif). Spécifie une nouvelle valeur pour la propriété CheckpointUsage sur le package. La signification des paramètres est la suivante :

Deny    Affecte à la propriété CheckpointUsage la valeur DTSCU_NEVER.

Force    Affecte à la propriété CheckpointUsage la valeur DTSCU_ALWAYS.

ifPossible    Affecte à la propriété CheckpointUsage la valeur DTSCU_IFEXISTS.

La valeur par défaut force est utilisée si aucune valeur n'est spécifiée.

/Set [$Sensitive::]propertyPath;value

(Facultatif). Remplace la configuration d'un paramètre, d'une variable, d'une propriété, d'un conteneur, d'un module fournisseur d'informations, de l'énumérateur Foreach ou de la connexion dans un package. Lorsque cette option est employée, /Set modifie l'argument propertyPath selon la valeur spécifiée. Vous pouvez spécifier plusieurs options /Set.

Outre l'utilisation de l'option /Set avec l'option /F[ile], vous pouvez également utiliser l'option /Set avec l'option /ISServer ou l'option /Project. Lorsque vous utilisez /Set avec /Project, /Set définit les valeurs de paramètres. Lorsque vous utilisez /Set avec /ISServer, /Set définit les substitutions de propriété. En outre, lorsque vous utilisez /Set avec /ISServer, vous pouvez utiliser le préfixe facultatif $Sensitive pour indiquer que la propriété doit être considérée comme sensible sur le serveur Integration Services.

Vous pouvez déterminer la valeur de propertyPath en exécutant l'Assistant Configuration de package. Les chemins pour les éléments que vous sélectionnez sont affichés dans la page Fin de l'Assistant ; ils peuvent être copiés et collés. Si vous utilisez l'Assistant uniquement dans ce but, vous pouvez le fermer après la copie des chemins.

Voici un exemple qui illustre l'exécution d'un package enregistré dans le système de fichiers et la spécification d'une nouvelle valeur pour une variable :

dtexec /f mypackage.dtsx /set \package.variables[myvariable].Value;myvalue

L'exemple suivant permet d'exécuter un package à partir du fichier projet .ispac et de définir les paramètres de package et de projet.

/Project c:\project.ispac /Package Package1.dtsx /SET \Package.Variables[$Package::Parameter];1 /SET \Package.Variables[$Project::Parameter];1

Vous pouvez utiliser l'option /Set pour modifier l'emplacement de chargement des configurations de package. Toutefois, vous ne pouvez pas utiliser l'option /Set pour remplacer une valeur spécifiée par une configuration au moment du design. Pour comprendre le fonctionnement de l'application des configurations de package, consultez Configurations de package et Changements de comportement des fonctionnalités Integration Services dans SQL Server 2012.

/Ser[ver] server

(Facultatif). Lorsque l'option /SQL ou /DTS est spécifiée, cette option spécifie le nom du serveur à partir duquel le package est récupéré. Si vous omettez l'option /Server et si l'option /SQL ou /DTS est spécifiée, l'exécution du package est tentée sur le serveur local. La valeur server_instance peut être mise entre guillemets.

L'option /Ser[ver] est requise lorsque l'option /ISServer est spécifiée.

/SQ[L] package_path

Charge un package qui est stocké dans SQL Server, dans la base de données msdb. Les packages stockés dans la base de données msdb sont déployés à l'aide du modèle de déploiement de package. Pour exécuter les packages qui sont déployés sur le serveur Integration Services à l'aide du modèle de déploiement de projet, utilisez l'option /ISServer. Pour plus d'informations sur les modèles de déploiement de package et de projet, consultez Déploiement de projets et de packages.

L'argument package_path spécifie le nom du package à récupérer. Si des dossiers sont inclus dans le chemin, ils se terminent par des barres obliques inverses (« \ »). La valeur package_path peut être mise entre guillemets. Si le chemin d'accès ou le nom de fichier spécifié dans l'argument package_path contient un espace, vous devez placer l'argument package_path entre guillemets.

Vous pouvez utiliser les options /User, /Password et /Server avec l'option /SQL.

Si vous omettez l'option /User, l'authentification Windows est employée pour accéder au package. Si vous utilisez l'option /User, le nom d'ouverture de session /User spécifié est associé à l'authentification SQL Server.

L'option /Password est utilisée avec l'option /User. Si vous utilisez l'option /Password, le package est accessible avec les informations de nom d'utilisateur et de mot de passe fournies. Si vous omettez l'option /Password, un mot de passe vide est employé.

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

Lorsque c'est possible, utilisez l'authentification Windows.

Si l'option /Server est omise, l'instance locale par défaut de SQL Server est utilisée.

L'option /SQL ne peut pas être utilisée avec l'option /DTS ou /File. Si plusieurs options sont spécifiées, dtexec échoue.

/Su[m]

(Facultatif). Affiche un compteur incrémentiel qui contient le nombre de lignes qui seront reçues par le prochain composant.

/U[ser] user_name

(Facultatif). Permet la récupération d'un package protégé par l'authentification SQL Server. Cette option est employée uniquement lorsque l'option /SQL est spécifiée. La valeur user_name peut être mise entre guillemets.

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

Lorsque c'est possible, utilisez l'authentification Windows.

/Va[lidate]

(Facultatif). Arrête l'exécution du package après la phase de validation, sans exécuter le package. Pendant la validation, l'utilisation de l'option /WarnAsError amène dtexec à traiter un avertissement comme une erreur ; par conséquent, le package échoue si un avertissement se produit en cours de validation.

/VerifyB[uild] major[;minor[;build]]

(Facultatif). Vérifie le numéro de build d'un package par rapport aux numéros de build qui ont été spécifiés pendant la phase de vérification dans les arguments major, minor et build. En cas de non-concordance, le package ne s'exécute pas.

Les valeurs sont des entiers longs. L'argument peut prendre trois formes, avec une valeur toujours obligatoire pour major :

  • major

  • major;minor

  • major; minor; build

/VerifyP[ackageID] packageID

(Facultatif). Vérifie le GUID du package à exécuter en le comparant à la valeur spécifiée dans l'argument package_id.

/VerifyS[igned]

(Facultatif). Demande à Integration Services de vérifier la signature numérique du package. Si le package n'est pas signé ou si la signature n'est pas valide, le package échoue. Pour plus d'informations, consultez Identifier la source de packages à l'aide de signatures numériques.

Important

Lorsqu'il est configuré pour vérifier la signature du package, Integration Services vérifie seulement si la signature numérique est présente, si elle est valide et si elle provient d'une source approuvée. Integration Services ne vérifie pas si le package a été modifié.

[!REMARQUE]

La valeur de Registre BlockedSignatureStates facultative peut spécifier un paramètre qui est plus restrictif que l'option de la signature numérique définie dans Outils de données SQL Server (SSDT) ou à la ligne de commande dtexec. Dans cette situation, le paramètre du Registre plus restrictif a priorité sur les autres paramètres.

/VerifyV[ersionID] versionID

(Facultatif). Vérifie le GUID de version d'un package à exécuter en le comparant à la valeur spécifiée dans l'argument version_id pendant la phase de vérification du package.

/VLog[Filespec]

(Facultatif). Écrit tous les événements de package Integration Services dans les modules fournisseurs d'informations activés lors de la conception du package. Pour qu'Integration Services active un module fournisseur d'informations pour les fichiers texte et écrive les événements de journal dans un fichier texte spécifié, incluez un chemin d'accès et un nom de fichier en tant que paramètre Filespec.

Si vous n'incluez pas le paramètre Filespec, Integration Services n'activera pas de module fournisseur d'informations pour les fichiers texte. Il écrira uniquement les événements de journal dans les modules fournisseurs d'informations activés lors de la conception du package.

/W[arnAsError]

(Facultatif). Le package considère un avertissement comme une erreur ; par conséquent, le package échoue si un avertissement se produit pendant la validation. Si aucun avertissement ne se produit pendant la validation et si l'option /Validate n'est pas spécifiée, le package est exécuté.

/X86

(Facultatif). Provoque l'exécution du package par l'Agent SQL Server en mode 32 bits sur un ordinateur 64 bits. Cette option est définie par l'Agent SQL Server lorsque les conditions suivantes sont vraies :

  • Le type d'étape de travail correspond à un Package SQL Server Integration Services.

  • L'option Utiliser le runtime 32 bits sous l'onglet Options d'exécution de la boîte de dialogue Nouvelle étape du travail est sélectionnée.

Vous pouvez également définir cette option pour une étape de travail de l'Agent SQL Server en utilisant des procédures stockées ou des objets SMO (SQL Server Management Objects) pour créer le travail par programmation.

Cette option est utilisée uniquement par l'Agent SQL Server. Cette option est ignorée si vous exécutez l'utilitaire dtexec à l'invite de commandes.

Notes

L'ordre dans lequel vous spécifiez des options de commande peut influencer le mode d'exécution du package :

  • Les options sont traitées dans l'ordre de leur occurrence sur la ligne de commande. Les fichiers de commandes sont lus dans leur ordre d'occurrence sur la ligne de commande. Les commandes du fichier de commandes sont également traitées dans leur ordre d'apparition.

  • Si la même option, le même paramètre ou la même variable apparaît plusieurs fois dans la même instruction de ligne de commande, la dernière instance de l'option est prioritaire.

  • Les options /Set and /ConfigFile sont traitées dans l'ordre dans lequel elles sont rencontrées.

Exemples

Les exemples suivants montrent comment utiliser l'utilitaire d'invite de commandes dtexec pour configurer et exécuter des packages SQL Server Integration Services.

Exécution des packages

Pour exécuter un package SSIS enregistré dans SQL Server à l'aide de l'authentification Windows, utilisez le code suivant :

dtexec /sq pkgOne /ser productionServer

Pour exécuter un package SSIS enregistré dans le dossier File System, dans le magasin de packages SSIS, utilisez le code suivant :

dtexec /dts "\File System\MyPackage"

Pour valider un package qui utilise l'authentification Windows et est enregistré dans SQL Server sans exécuter le package, utilisez le code suivant :

dtexec /sq pkgOne /ser productionServer /va

Pour exécuter un SSIS qui est enregistré dans le système de fichiers, utilisez le code suivant :

dtexec /f "c:\pkgOne.dtsx" 

Pour exécuter un package SSIS qui est enregistré dans le système de fichiers et pour spécifier des options de journalisation, utilisez le code suivant :

dtexec /f "c:\pkgOne.dtsx" /l "DTS.LogProviderTextFile;c:\log.txt"

Pour exécuter un package qui emploie l'authentification Windows et est enregistré dans l'instance locale par défaut de SQL Server, puis vérifier la version avant son exécution, utilisez le code suivant :

dtexec /sq pkgOne /verifyv {c200e360-38c5-11c5-11ce-ae62-08002b2b79ef}

Pour exécuter un package SSIS qui est enregistré dans le système de fichiers et configuré de façon externe, utilisez le code suivant :

dtexec /f "c:\pkgOne.dtsx" /conf "c:\pkgOneConfig.cfg"

[!REMARQUE]

Les arguments package_path ou filespec des options /SQL, /DTS ou /FILE doivent être placés entre guillemets si le chemin d'accès ou le nom de fichier contient un espace. Si l'argument n'est pas placé entre guillemets, il ne peut pas contenir d'espaces.

Option du journal

S'il existe trois types d'entrée de journal A, B et C. L'option ConsoleLog suivante sans paramètre affiche les trois types de journal avec tous les champs :

/CONSOLELOG

L'option suivante affiche tous les types de journaux, mais avec uniquement les colonnes Nom et Message :

/CONSOLELOG NM

L'option suivante affiche toutes les colonnes, mais seulement pour le type A d'entrée de journal :

/CONSOLELOG I;LogEntryTypeA

L'option suivante affiche uniquement le type A d'entrée de journal, avec les colonnes Nom et Message :

/CONSOLELOG NM;I;LogEntryTypeA

L'option suivante affiche toutes les entrées de journal pour les types A et B d'entrée de journal :

/CONSOLELOG I;LogEntryTypeA;LogEntryTypeB

Vous pouvez obtenir les mêmes résultats en utilisant plusieurs options ConsoleLog :

/CONSOLELOG I;LogEntryTypeA /CONSOLELOG I;LogEntryTypeB

Si l'option ConsoleLog est utilisée sans paramètre, tous les champs sont affichés. Si vous ajoutez un paramètre list_options, l'expression suivante affiche uniquement le type A d'entrée de journal, avec tous les champs :

/CONSOLELOG NM;I;LogEntryTypeA /CONSOLELOG

L'expression suivante affiche toutes les entrées de journal, à l'exception du type A d'entrée de journal ; elle affiche les types B et C d'entrée de journal :

/CONSOLELOG E;LogEntryTypeA

L'exemple suivant permet d'obtenir les mêmes résultats en utilisant plusieurs options ConsoleLog et une seule exclusion :

/CONSOLELOG E;LogEntryTypeA /CONSOLELOG
/CONSOLELOG E;LogEntryTypeA /CONSOLELOG E;LogEntryTypeA
/CONSOLELOG E;LogEntryTypeA;LogEntryTypeA

L'exemple suivant n'affiche aucun message de journalisation car lorsqu'un type de fichier journal figure à la fois dans les listes d'inclusion et d'exclusion, il est exclu.

/CONSOLELOG E;LogEntryTypeA /CONSOLELOG I;LogEntryTypeA

Option SET

L'exemple suivant indique comment utiliser l'option /SET qui vous permet de modifier la valeur de n'importe quelle variable ou propriété du package lorsque vous démarrez le package à partir de la ligne de commande.

/SET \package\DataFlowTask.Variables[User::MyVariable].Value;newValue

Option Project

L'exemple suivant montre comment utiliser les options /Project et /Package.

/Project c:\project.ispac /Package Package1.dtsx

L'exemple suivant montre comment utiliser les options /Project et /Package, et comment définir les paramètres de package et de projet.

/Project c:\project.ispac /Package Package1.dtsx /SET \Package.Variables[$Package::Parameter];1 /SET \Package.Variables[$Project::Parameter];1

Option ISServer

L'exemple suivant montre comment utiliser l'option /ISServer.

dtexec /isserver "\SSISDB\MyFolder\MyProject\MyPackage.dtsx" /server "."

L'exemple suivant montre comment utiliser l'option /ISServer et comment définir les paramètres relatifs au projet et au gestionnaire de connexions.

/Server localhost /ISServer “\SSISDB\MyFolder\Integration Services Project1\Package.dtsx” /Par "$Project::ProjectParameter(Int32)";1 /Par "CM.SourceServer.InitialCatalog";SourceDB

Tâches associées

Exécuter un package dans les outils de données SQL Server

Contenu associé

Entrée de blog, Exit Codes, DTEXEC, and SSIS Catalog, sur www.mattmasson.com.