Utilitaire dtutil
Mis à jour : 17 juillet 2006
L'utilitaire d'invite de commandes dtutil sert à gérer des packages SQL Server 2005 Integration Services (SSIS). Cet utilitaire peut copier, déplacer ou supprimer un package, ou en vérifier l'existence. Ces actions peuvent être effectuées sur n'importe quel package SSIS stocké dans l'un des trois emplacements suivants : une base de données de Microsoft SQL Server, le magasin de packages SSIS et le système de fichiers. Le type de stockage du package est identifié par les options /SQL, /FILE et /DTS.
Remarque : |
---|
Sur un ordinateur 64 bits, le service Integration Services installe la version 32 bits ainsi que la version 64 bits de l'utilitaire dtutil (dtexec.exe). |
Remarque : |
---|
Nombre des opérations qui sont réalisées par l'utilitaire dtutil peuvent également être réalisées visuellement dans SQL Server Management Studio lorsque vous êtes connecté à une instance de Integration Services. Pour plus d'informations, consultez Gestion des packages Integration Services. |
Les options peuvent être entrées dans n'importe quel ordre. Le caractère (« | ») est l'opérateur OR et sert à afficher les valeurs possibles. Vous devez choisir l'une des options qui sont délimitées par le caractère OR.
Toutes les options doivent commencer par une barre oblique (/) ou par un signe moins (-).
Les arguments doivent être des chaînes entre guillemets ou ne contenir aucun espace.
Les guillemets doubles à l'intérieur des chaînes mises entre guillemets simples représentent des guillemets simples en mode échappement.
Les options et les arguments, à l'exception des mots de passe, ne respectent pas la casse.
Syntaxe
dtutil /option [value] [/option [value]]...
Paramètres
Option
Description
/?
Affiche les options d'invite de commandes.
/C[opy] location;destinationPathandPackageName
Spécifie une copie sur un package SSIS. Pour utiliser ce paramètre, vous devez tout d'abord spécifier l'emplacement du package à l'aide de l'option /FI, /SQ ou /DT. Spécifiez ensuite le nom du package de destination de l'emplacement de destination. L'argument destinationPathandPackageName spécifie sur quel emplacement le package SSIS est copié. Si l'emplacement de destination location est SQL, les arguments DestUser, DestPassword et DestServer doivent être également spécifiés dans la commande.
Lorsque l'action Copy rencontre un package existant à la destination, dtutil invite l'utilisateur à confirmer la suppression du package. La réponse Y remplace le package et la réponse N termine le programme. Lorsque la commande inclut l'argument Quiet, aucune invite n'apparaît et tout package existant est remplacé.
/Dec[rypt] 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.
/Del[ete]
Supprime le package spécifié par l'option SQL, DTS ou FILE. Si dtutil ne peut pas supprimer le package, le programme prend fin.
/DestP[assword] password
Spécifie le mot de passe utilisé avec l'option SQL pour se connecter à une instance de SQL Server de destination avec l'authentification SQL Server. Une erreur est générée si DESTPASSWORD est spécifié dans une ligne de commande qui n'inclut pas l'option DTSUSER.
Remarque :
Utilisez si possible l'authentification Windows..
/DestS[erver] server_instance
Spécifie le nom du serveur utilisé avec une action qui entraîne l'enregistrement d'une destination dans SQL Server. Cette valeur sert à identifier un serveur non local ou autre que le serveur par défaut lors de l'enregistrement d'un package SSIS. La spécification de DESTSERVER dans une ligne de commande sans action associée à SQL Server constitue une erreur. Des actions telles que SIGN SQL, COPY SQL ou MOVE SQL représentent des commandes appropriées à combiner avec cette option.
Un nom d'instance de SQL Server peut être spécifié en ajoutant à la suite du nom du serveur une barre oblique et le nom de l'instance.
/DestU[ser] username
Spécifie le nom d'utilisateur qui est employé avec les options SIGN SQL, COPY SQL et MOVE SQL pour se connecter à une instance SQL Server qui utilise l'authentification SQL Server. La spécification de DESTUSER dans une ligne de commande qui n'inclut pas l'option SIGN SQL, COPY SQL ou MOVE SQL constitue une erreur.
/DT[S] filespec
Cette option spécifie que le package SSIS à traiter se trouve dans le magasin de packages SSIS. L'argument filespec est un chemin relatif qui commence à la racine du magasin de packages de SSIS.
Si l'option DT[S] est spécifiée sur la même ligne de commande que l'une des options suivantes, une erreur DTEXEC_DTEXECERROR est retournée :
- FILE
- SQL
- SOURCEUSER
- SOURCEPASSWORD
- SOURCESERVER
/En[crypt] {SQL | FILE}; Path;ProtectionLevel[;password]
(Facultatif). Chiffre le package chargé avec le niveau de protection et le mot de passe spécifiés, puis l'enregistre à l'emplacement spécifié dans Path. Le ProtectionLevel détermine si un mot de passe est requis.
- SQL - Path est le nom du package de destination.
- FILE - Path est le chemin complet et le nom de fichier du package.
- DTS - Cette option n'est actuellement pas prise en charge.
Options ProtectionLevel :
Niveau 0 : retire les informations sensibles.
Niveau 1 : les informations sensibles sont chiffrées en utilisant des informations d'identification de l'utilisateur local.
Niveau 2 : les informations sensibles sont chiffrées à l'aide du mot de passe requis.
Niveau 3 : le package est chiffré à l'aide du mot de passe requis.
Niveau 4 : le package est chiffré à l'aide des informations d'identification de l'utilisateur local.
Un package de niveau 5 utilise le chiffrement de stockage SQL Server.
/Ex[ists]
(Facultatif). Utilisé pour déterminer si un package existe. dtutil tente de localiser le package spécifié par l'option SQL, DTS ou FILE. Si dtutil ne peut pas localiser le package spécifié, une erreur DTEXEC_DTEXECERROR est retournée.
/FC[reate] {SQL | DTS};ParentFolderPath;NewFolderName
(Facultatif). Crée un nouveau dossier portant le nom que vous avez spécifié dans NewFolderName. L'emplacement du nouveau dossier est indiqué par ParentFolderPath.
/FDe[lete] {SQL | DTS}[;ParentFolderPath;FolderName]
(Facultatif). Supprime de SQL Server ou SSIS le dossier qui a été spécifié par le nom dans FolderName. L'emplacement du dossier à supprimer est indiqué par ParentFolderPath.
/FDi[rectory] {SQL | DTS};FolderPath[;S]
(Facultatif). Répertorie le contenu, dossiers et packages, dans un dossier sur SSIS ou SQL Server. Le paramètre facultatif FolderPath spécifie le dossier dont vous voulez afficher le contenu. Le paramètre facultatif S spécifie que vous voulez afficher la liste du contenu des sous-dossiers du dossier indiqué dans FolderPath.
/FE[xists ] {SQL | DTS};FolderPath
(Facultatif). Vérifie si le dossier spécifié existe sur SSIS ou SQL Server. Le paramètre FolderPath représente le chemin et le nom de dossier à vérifier.
/Fi[le] filespec
Cette option spécifie que le package SSIS à traiter se trouve dans le système de fichiers. La valeur filespec peut être fournie sous la forme d'un chemin UNC (Universal Naming Convention) ou d'un chemin local.
Si l'option File est spécifiée sur la même ligne de commande que l'une des options suivantes, une erreur DTEXEC_DTEXECERROR est retournée :
- DTS
- SQL
- SOURCEUSER
- SOURCEPASSWORD
- SOURCESERVER
/FR[ename] {SQL | DTS} [;ParentFolderPath; OldFolderName;NewFolderName]
(Facultatif). Renomme un dossier sur SSIS ou SQL Server. ParentFolderPath constitue l'emplacement du dossier à renommer. OldFolderName correspond au nom actuel du dossier tandis que NewFolderName représente le nouveau nom à attribuer au dossier.
/H[elp] option
Affiche une aide contextuelle qui affiche les options dtutil et décrit leur utilisation. Cet argument est facultatif. Si l'argument est inclus, le texte d'aide contient des informations détaillées sur l'option spécifiée. L'exemple suivant affiche une aide pour toutes les options :
dtutil /H
Les deux exemples suivants illustrent l'utilisation de l'option /H pour afficher une aide étendue sur une option spécifique, l'option*/Q [uiet]*, dans cet exemple :
dtutil /Help Quiet
dtutil /H Q
/I[DRegenerate]
Crée un nouvel identificateur global unique (GUID) pour le package et met à jour la propriété de l'ID du package. Lorsqu'un package est copié, l'ID du package ne change pas ; ainsi les fichiers journaux contiennent le même GUID pour les deux packages. Cette action crée un nouveau GUID pour le package nouvellement copié, afin de le distinguer de l'original.
/M[ove] {SQL | File | DTS}; pathandname
Spécifie un déplacement sur un package SSIS. Pour utiliser ce paramètre, vous devez tout d'abord spécifier l'emplacement du package à l'aide de l'option /FI, /SQ ou /DT. Ensuite, spécifiez l'action Move. Cette action nécessite deux arguments, séparés par un point-virgule :
- L'argument de destination peut spécifier SQL, FILE ou DTS. Une destination SQL peut comporter les options DESTUSER, DESTPASSWORD et DESTSERVER.
- L'argument pathandname spécifie l'emplacement du package : SQL utilise le chemin et le nom du package, FILE utilise un UNC ou un chemin local tandis que DTS utilise un emplacement relatif à la racine du magasin de packages SSIS. Lorsque la destination est FILE ou DTS, l'argument path n'inclut pas le nom du fichier. Il utilise plutôt le nom du package à l'emplacement spécifié comme le nom de fichier.
Lorsque l'action MOVE rencontre un package existant à la destination, dtutil vous demande de confirmer que vous voulez remplacer le package. La réponse Y remplace le package et la réponse N termine le programme. Lorsque la commande inclut l'option QUIET, aucune invite n'apparaît et tout package existant est remplacé.
/Q[uiet]
Arrête les invites de confirmation pouvant apparaître lorsqu'une commande incluant l'option COPY, MOVE ou SIGN est exécutée. Ces invites apparaissent si un package portant le même nom que le package spécifié existe déjà sur l'ordinateur de destination ou si le package spécifié est déjà signé.
/R[emark] text
Ajoute un commentaire à la ligne de commande. L'argument de commentaire est facultatif. Si le texte du commentaire inclut les espaces, il est mis entre guillemets. Vous pouvez inclure plusieurs options REM dans une ligne de commande.
/Si[gn] {SQL | File | DTS}; path; hash
Signe un package SSIS. Cette action utilise trois arguments requis, séparés par des point-virgules :
- L'argument de destination peut spécifier SQL, FILE ou DTS. Une destination SQL peut comporter les options DESTUSER, DESTPASSWORD et DESTSERVER.
- L'argument path spécifie l'emplacement du package à traiter.
- L'argument hash spécifie un identificateur de certificat exprimé en tant que chaîne hexadécimale de longueur variable.
Vous pouvez afficher les informations concernant votre certificat à l'aide de l'utilitaire CertMgr. Pour plus d'informations, consultez la section CertMgr de l'article (en anglais) « Signing and Checking Code with Authenticode » (signature et vérification du code à l'aide d'Authenticode) dans MSDN Library.
/SourceP[assword] password
Spécifie le mot de passe utilisé avec les options SQL et SOURCEUSER pour permettre la récupération d'un package SSIS qui est stocké dans une base de données, sur une instance de SQL Server qui utilise l'authentification SQL Server. La spécification de SOURCEPASSWORD dans une ligne de commande qui n'inclut pas l'option SOURCEUSER constitue une erreur.
Remarque :
Utilisez si possible l'authentification Windows.
/SourceS[erver] server_instance
Spécifie le nom du serveur qui est utilisé avec l'option SQL pour permettre l'extraction d'un package SSIS qui est stocké dans SQL Server. La spécification de SOURCESERVER dans une ligne de commande qui n'inclut pas l'option SIGN SQL, COPYSQL ou MOVESQL constitue une erreur.
Un nom d'instance de SQL Server peut être spécifié en ajoutant à la suite du nom du serveur une barre oblique et le nom de l'instance.
/SourceU[ser] username
Spécifie le nom d'utilisateur qui est employé avec l'option SOURCESERVER pour permettre la récupération, par le biais de l'authentification SQL Server, d'un package SSIS stocké dans SQL Server. La spécification de SOURCEUSER dans une ligne de commande qui n'inclut pas l'option SIGN SQL, COPY SQL ou MOVE SQL constitue une erreur.
Remarque :
Utilisez si possible l'authentification Windows.
/SQ[L] package_path
Spécifie l'emplacement d'un package SSIS. Cette option indique que le package est stocké dans la base de données msdb. L'argument package_path spécifie le chemin et le nom du package SSIS. Les noms de dossier se terminent par des barres obliques inverses.
Si l'option SQL est spécifiée sur la même ligne de commande que l'une des options suivantes, une erreur DTEXEC_DTEXECERROR est retournée :
- DTS
- FILE
L'option SQL peut être accompagnée de zéro ou d'une instance des options suivantes : - SOURCEUSER
- SOURCEPASSWORD
- SOURCESERVER
Si l'option SOURCEUSERNAME n'est pas incluse, l'authentification Windows permet d'accéder au package. L'option SOURCEPASSWORD est autorisée uniquement si l'option SOURCEUSER est présente. Si l'option SOURCEPASSWORD n'est pas incluse, un mot de passe vide est employé.
Important :
N'utilisez pas de mot de passe vide, mais un mot de passe fort.
Codes de sortie dtutil
L'utilitaire dtutil définit un code de sortie qui vous alerte lorsque des erreurs de syntaxe sont détectées, des arguments incorrects sont employés ou des combinaisons non valides d'options sont spécifiées. Dans le cas contraire, l'utilitaire indique un message signalant que l'opération s'est terminée avec succès. Le tableau suivant répertorie les valeurs que l'utilitaire dtutil peut définir en sortie.
Valeur | Description |
---|---|
0 |
L'utilitaire s'est exécuté avec succès. |
1 |
L'utilitaire a échoué. |
4 |
L'utilitaire ne peut pas localiser le package demandé. |
5 |
L'utilitaire ne peut pas charger le package demandé. |
6 |
L'utilitaire ne peut pas résoudre la ligne de commande car elle comporte des erreurs syntaxiques ou sémantiques. |
Notes
Vous ne pouvez pas utiliser des fichiers de commandes ou une redirection avec dtutil.
L'ordre des options dans la ligne de commande n'est pas significatif.
Exemples
Les exemples suivants présentent de façon détaillée des scénarios classiques d'utilisation de ligne de commande.
Exemples de copie
Pour copier, dans le magasin de packages SSIS, un package stocké dans la base de données msdb, elle-même présente sur une instance locale de SQL Server qui utilise l'authentification Windows, utilisez la syntaxe suivante :
dtutil /SQL srcPackage /COPY DTS;destPackage
Pour copier un package d'un emplacement sur le système de fichiers dans un autre emplacement et renommer la copie, utilisez la syntaxe suivante :
dtutil /FILE c:\myPackages\mypackage.dtsx /COPY FILE;c:\myTestPackages\mynewpackage.dtsx
Pour copier un package sur le système de fichiers local dans une instance de SQL Server hébergée sur un autre ordinateur, utilisez la syntaxe suivante :
dtutil / FILE c:\sourcepkg.dtsx / COPY SQL;destpkgname
Dans la mesure où les options /DestU[ser] et /DestP[assword] n'ont pas été utilisées, l'utilisation de l'authentification Windows est implicite.
Pour créer un ID destiné à un package nouvellement copié, utilisez la syntaxe suivante :
dtutil /I /FILE copiedpkg.dtsx
Pour créer un ID destiné à tous les packages d'un dossier spécifique, utilisez la syntaxe suivante :
for %%f in (C:\test\SSISPackages\*.dtsx) do dtutil.exe /I /FILE %%f
Utilisez un signe de pourcentage unique (%) lorsque vous tapez la commande à partir de l'invite et utilisez un signe de pourcentage double (%%) si la commande est utilisée à l'intérieur d'un fichier de commandes.
Exemples de suppression
Pour supprimer un package qui est stocké dans la base de données msdb sur une instance de SQL Server qui utilise l'authentification Windows, utilisez la syntaxe suivante :
dtutil /SQL delPackage /DELETE
Pour supprimer un package stocké dans la base de données msdb sur une instance de SQL Server qui utilise l'authentification SQL Server, utilisez la syntaxe suivante :
dtutil /SQL delPackage /SOURCEUSER srcUserName /SOURCEPASSWORD #8nGs*w7F /DELETE
Remarque : |
---|
Pour supprimer un package d'un serveur nommé, incluez l'option SOURCESERVER et son argument. Vous pouvez spécifier un serveur uniquement par le biais de l'option SQL. |
Pour supprimer un package stocké dans le magasin des packages SSIS, utilisez la syntaxe suivante :
dtutil /DTS delPackage.dtsx /DELETE
Pour supprimer un package stocké dans le système de fichiers, utilisez la syntaxe suivante :
dtutil /FILE c:\delPackage.dtsx /DELETE
Exemples d'Exists
Pour déterminer si un package existe dans la base de données msdb sur une instance locale de SQL Server qui utilise l'authentification Windows, utilisez la syntaxe suivante :
dtutil /SQL srcPackage /EXISTS
Pour déterminer si un package existe dans la base de données msdb sur une instance locale de SQL Server qui utilise l'authentification SQL Server, utilisez la syntaxe suivante :
dtutil SQL srcPackage /SOURCEUSER srcUserName /SOURCEPASSWORD *hY$d56b /EXISTS
Remarque : |
---|
Pour déterminer si un package existe sur un serveur nommé, incluez l'option SOURCESERVER et son argument. Vous pouvez spécifier un serveur uniquement par le biais de l'option SQL. |
Pour déterminer si un package existe dans le magasin de packages local, utilisez la syntaxe suivante :
dtutil /DTS srcPackage.dtsx /EXISTS
Pour déterminer si un package existe dans le système de fichiers local, utilisez la syntaxe suivante :
dtutil /FILE c:\srcPackage.dtsx /EXISTS
Exemples de Move
Pour déplacer un package stocké dans le magasin de packages SSIS vers la base de données msdb, elle-même située sur une instance locale de SQL Server qui utilise l'authentification Windows, utilisez la syntaxe suivante :
dtutil /DTS srcPackage.dtsx /MOVE SQL;destPackage
Pour déplacer un package stocké dans la base de données msdb sur une instance locale de SQL Server qui utilise l'authentification SQL Server vers la base de données msdb sur une autre instance locale de SQL Server qui utilise l'authentification SQL Server, utilisez la syntaxe suivante :
dtutil /SQL srcPackage /SOURCEUSER srcUserName /SOURCEPASSWORD $Hj45jhd@X /MOVE SQL;destPackage /DESTUSER destUserName /DESTPASSWORD !38dsFH@v
Remarque : |
---|
Pour déplacer un package d'un serveur nommé à un autre, incluez les options SOURCES et DESTS, ainsi que leurs arguments. Vous ne pouvez spécifier des serveurs qu'à l'aide de l'option SQL. |
Pour déplacer un package stocké dans le magasin des packages SSIS, employez la syntaxe suivante :
dtutil /DTS srcPackage.dtsx /MOVE DTS;destPackage.dtsx
Pour déplacer un package qui est stocké dans le système de fichiers, employez la syntaxe suivante :
dtutil /FILE c:\srcPackage.dtsx /MOVE FILE;c:\destPackage.dtsx
Exemples de Sign
Pour signer un package qui est stocké dans une base de données SQL Server sur une instance locale de SQL Server qui utilise l'authentification Windows, utilisez la syntaxe suivante :
dtutil /FILE srcPackage.dtsx /SIGN FILE;destpkg.dtsx;1767832648918a9d989fdac9819873a91f919
Pour obtenir des informations concernant votre certificat, utilisez CertMgr. Le code de hachage peut être affiché dans l'utilitaire CertMgr en sélectionnant le certificat, puis en cliquant sur Afficher pour afficher les propriétés. L'onglet Détails fournit des informations supplémentaires sur le certificat. La propriété Thumbprint est utilisée comme valeur de hachage, sans les espaces.
Remarque : |
---|
Le hachage utilisé dans l'exemple ci-dessus n'est pas un hachage véritable. |
Pour plus d'informations, consultez la section « CertMgr » de l'article (en anglais) « Signing and Checking Code with Authenticode » (signature et vérification du code à l'aide d'Authenticode).
Exemples d'Encrypt
L'exemple suivant chiffre le fichier PackageToEncrypt.dtsx dans le fichier EncryptedPackage.dts en utilisant un chiffrement de package complet, avec un mot de passe. Le mot de passe qui est utilisé pour le chiffrement est EncPswd.
dtutil /FILE PackageToEncrypt.dtsx /ENCRYPT file;EncryptedPackage.dtsx;3;EncPswd
Voir aussi
Autres ressources
Procédure : exécuter un package dans Business Intelligence Development Studio
Observations relatives à Integration Services sur des ordinateurs 64 bits
Aide et Informations
Assistance sur SQL Server 2005
Historique des modifications
Version | Historique |
---|---|
17 juillet 2006 |
|
5 décembre 2005 |
|