dtutil (utilidad)

Actualizado: 17 de julio de 2006

La utilidad del símbolo del sistema dtutil se utiliza para administrar paquetes de SQL Server 2005 Integration Services (SSIS). La utilidad puede copiar, mover, eliminar o comprobar la existencia de un paquete. Estas acciones se pueden realizar en cualquier paquete SSIS almacenado en una de estas tres ubicaciones: una base de datos de Microsoft SQL Server, el almacén de paquetes SSIS y el sistema de archivos. El tipo de almacenamiento del paquete se identifica mediante las opciones /SQL, /FILE y /DTS.

[!NOTA] En un equipo de 64 bits, Integration Services instala una versión de 32 bits y otra de 64 bits de la utilidad dtutil (dtexec.exe).

[!NOTA] Muchas de las operaciones que dtutil realiza también se pueden llevar a cabo visualmente en SQL Server Management Studio cuando se está conectado a una instancia de Integration Services. Para obtener más información, vea Administrar paquetes de Integration Services.

Las opciones se pueden escribir en cualquier orden. El carácter de barra vertical ("|") es el operador OR y se utiliza para mostrar posibles valores. Debe utilizar una de las opciones delimitadas por OR.

Todas las opciones deben comenzar con una barra diagonal (/) o un signo menos (-).

Los argumentos deben ser cadenas incluidas entre comillas o no deben contener ningún espacio en blanco.

Las comillas dobles de cadenas que están entre comillas representan comillas simples de escape.

Las opciones y los argumentos, excepto las contraseñas, no distinguen entre mayúsculas y minúsculas.

Sintaxis

dtutil /option [value] [/option [value]]...

Parámetros

Opción

Descripción

/?

Muestra las opciones del símbolo del sistema.

/C[opy] location;destinationPathandPackageName

Especifica una acción para copiar en un paquete SSIS. El uso de este parámetro requiere que especifique primero la ubicación del paquete con la opción /FI, /SQ o /DT. A continuación, deberá especificar la ubicación de destino y el nombre del paquete de destino. El argumento destinationPathandPackageName especifica en dónde se copia el paquete SSIS. Si location de destino es SQL, también se deben especificar los argumentos DestUser, DestPassword y DestServer en el comando.

Cuando la acción Copy encuentra un paquete que ya existe en el destino, dtutil pide al usuario que confirme la eliminación del paquete. La respuesta Y sobrescribe el paquete y la respuesta N finaliza el programa. Cuando el comando incluye el argumento Quiet, no aparece ningún mensaje y los paquetes existentes se sobrescriben.

/Dec[rypt] password

(Opcional) Establece la contraseña de descifrado que se utiliza cuando se carga un paquete con cifrado de contraseña.

/Del[ete]

Elimina el paquete especificado por la opción SQL, DTS o FILE. Si dtutil no puede eliminar el paquete, el programa finaliza.

/DestP[assword] password

Especifica la contraseña utilizada con la opción de SQL para conectar con una instancia de SQL Server de destino mediante autenticación de SQL Server. Se genera un error si se especifica DESTPASSWORD en una línea de comandos que no incluye la opción DTSUSER.

ms162820.note(es-es,SQL.90).gifNota:

Siempre que sea posible, utilice la autenticación de Windows..

/DestS[erver] server_instance

Especifica el nombre de servidor que se utiliza con cualquier acción que haga que un destino se guarde en SQL Server. Se utiliza para identificar un servidor que no es local o que no es el predeterminado cuando se guarda un paquete SSIS. Es un error especificar DESTSERVER en una línea de comandos que no tiene una acción asociada con SQL Server. Las acciones tales como las opciones SIGN SQL, COPY SQL o MOVE SQL serían comandos adecuados para combinar con esta opción.

Un nombre de instancia de SQL Server se puede especificar agregando al nombre del servidor una barra diagonal inversa y el nombre de la instancia.

/DestU[ser] username

Especifica el nombre de usuario utilizado con las opciones SIGN SQL, COPY SQL y MOVE SQL para conectar con una instancia de SQL Server que utiliza autenticación de SQL Server. Es un error especificar DESTUSER en una línea de comandos que no incluye la opción SIGN SQL, COPY SQL o MOVE SQL.

/DT[S] filespec

Esta opción especifica que el paquete SSIS sobre el que se trabajará está ubicado en el Almacén de paquetes SSIS. El argumento filespec es una ruta de acceso relativa que comienza en la raíz del almacén de paquetes SSIS.

Si se especifica la opción DT[S] en la misma línea de comandos que cualquiera de las siguientes opciones, se devuelve DTEXEC_DTEXECERROR:

  • FILE
  • SQL
  • SOURCEUSER
  • SOURCEPASSWORD
  • SOURCESERVER

/En[crypt] {SQL | FILE}; Path;ProtectionLevel[;password]

(Opcional) Cifra el paquete cargado con la contraseña y el nivel de protección especificado y lo guarda en la ubicación especificada en Path. ProtectionLevel determina si hace falta una contraseña.

  • SQL : la ruta es el nombre del paquete de destino.
  • FILE : la ruta es la ruta de acceso completa y el nombre de archivo del paquete.
  • DTS : esta opción no se admite actualmente.

Opciones de ProtectionLevel:

Nivel 0: elimina la información confidencial.

Nivel 1: la información confidencial se cifra mediante credenciales de usuario locales.

Nivel 2: la información confidencial se cifra mediante la contraseña requerida.

Nivel 3: el paquete se cifra mediante la contraseña requerida.

Nivel 4: el paquete se cifra mediante credenciales de usuario locales.

Nivel 5: El paquete utiliza el cifrado de almacenamiento de SQL Server.

/Ex[ists]

(Opcional) Se utiliza para determinar si un paquete existe. dtutil intenta localizar el paquete especificado por las opciones SQL, DTS o FILE. Si dtutil no puede localizar el paquete especificado, se devuelve DTEXEC_DTEXECERROR.

/FC[reate] {SQL | DTS};ParentFolderPath;NewFolderName

(Opcional) Crea una nueva carpeta que tiene el nombre especificado en NewFolderName. La ubicación de la nueva carpeta viene indicada por ParentFolderPath.

/FDe[lete] {SQL | DTS}[;ParentFolderPath;FolderName]

(Opcional) Elimina de SQL Server o SSIS la carpeta especificada por el nombre en FolderName. La ubicación de la carpeta que se va a eliminar viene indicada por ParentFolderPath.

/FDi[rectory] {SQL | DTS};FolderPath[;S]

(Opcional) Muestra el contenido, tanto carpetas como paquetes, en una carpeta de SSIS o SQL Server. El parámetro FolderPath opcional especifica la carpeta cuyo contenido desea ver. El parámetro S opcional especifica si desea ver un listado del contenido de las subcarpetas para la carpeta especificada en FolderPath.

/FE[xists ] {SQL | DTS};FolderPath

(Opcional) Comprueba si la carpeta especificada existe en SSIS o SQL Server. El parámetro FolderPath es la ruta de acceso y el nombre de la carpeta que se va a comprobar.

/Fi[le] filespec

Esta opción especifica que el paquete SSIS sobre el que se trabajará está ubicado en el sistema de archivos. El valor filespec se puede proporcionar como ruta UNC (Convención de nomenclatura universal) o ruta local.

Si se especifica la opción File en la misma línea de comandos que cualquiera de las siguientes opciones, se devuelve DTEXEC_DTEXECERROR:

  • DTS
  • SQL
  • SOURCEUSER
  • SOURCEPASSWORD
  • SOURCESERVER

/FR[ename] {SQL | DTS} [;ParentFolderPath; OldFolderName;NewFolderName]

(Opcional) Cambia el nombre de una carpeta de SSIS o SQL Server. ParentFolderPath es la ubicación de la carpeta cuyo nombre se desea cambiar. OldFolderName es el nombre actual de la carpeta y NewFolderName es el nuevo nombre que se dará a la carpeta.

/H[elp] option

Muestra una completa ayuda que enumera las opciones de dtutil y describe su uso. El argumento de opción es opcional. Si se incluye el argumento, el texto de la ayuda incluye información detallada acerca de la opción especificada. El siguiente ejemplo muestra la ayuda para todas las opciones:

dtutil /H

Los siguientes dos ejemplos muestran cómo usar la opción /H para mostrar ayuda ampliada para una opción específica, la opción /Q [uiet], en este ejemplo:

dtutil /Help Quiet

dtutil /H Q

/I[DRegenerate]

Especifica un nuevo GUID para el paquete y actualiza la propiedad ID del paquete. Cuando se copia un paquete, el Id. del paquete sigue siendo el mismo y, por lo tanto, los archivos de registro contienen el mismo GUID para ambos paquetes. Esta acción crea un nuevo GUID para el paquete que se acaba de copiar para distinguirlo del original.

/M[ove] {SQL | File | DTS}; pathandname

Especifica una acción para mover en un paquete SSIS. Para usar este parámetro, especifique primero la ubicación del paquete con la opción /FI, /SQ o /DT. A continuación, especifique la acción Move. Esta acción requiere dos argumentos, separados por un punto y coma:

  • El argumento de destino puede especificar SQL, FILE o DTS. Un destino SQL puede incluir las opciones DESTUSER, DESTPASSWORD y DESTSERVER.
  • El argumento pathandname especifica la ubicación del paquete: SQL utiliza la ruta de acceso y el nombre del paquete, FILE utiliza una ruta de acceso local o UNC y DTS utiliza una ubicación relativa con respecto a la raíz del almacén de paquetes SSIS. Cuando el destino es FILE o DTS, el argumento de la ruta no incluye el nombre del archivo. En su lugar, utiliza el nombre del paquete en la ubicación especificada como nombre de archivo.

Cuando la acción MOVE encuentra un paquete que ya existe en el destino, dtutil le solicita que confirme si desea sobrescribir el paquete. La respuesta Y sobrescribe el paquete y la respuesta N finaliza el programa. Cuando el comando incluye la opción QUIET, no aparece ningún mensaje y los paquetes existentes se sobrescriben.

/Q[uiet]

Detiene los mensajes de confirmación que pueden aparecer cuando se ejecuta un comando que incluye la opción COPY, MOVE o SIGN. Esos mensajes aparecen si ya existe en el equipo de destino un paquete con el mismo nombre que el paquete especificado o si el paquete especificado ya está firmado.

/R[emark] text

Agrega un comentario a la línea de comandos. El argumento de comentario es opcional. Si el comentario de texto incluye espacios, el texto debe ir entre comillas. Puede incluir varias opciones REM en una línea de comandos.

/Si[gn] {SQL | File | DTS}; path; hash

Firma un paquete SSIS. Esta acción utiliza tres argumentos obligatorios, que están separados por punto y coma:

  • El argumento de destino puede especificar SQL, FILE o DTS. Un destino SQL puede incluir las opciones DESTUSER, DESTPASSWORD y DESTSERVER.
  • El argumento de ruta especifica la ubicación del paquete en el que se realizará la acción.
  • El argumento hash especifica un identificador de certificado expresado como una cadena hexadecimal de longitud variable.

Para obtener información acerca del certificado, puede emplear la utilidad CertMgr. Para obtener más información, vea la sección CertMgr en el tema sobre la firma y la comprobación de código con Authenticode (en inglés) en MSDN Library.

/SourceP[assword] password

Especifica la contraseña que se utiliza con las opciones SQL y SOURCEUSER para habilitar la recuperación de un paquete SSIS que está almacenado en una base de datos en una instancia de SQL Server que utiliza autenticación de SQL Server. Es un error especificar SOURCEPASSWORD en una línea de comandos que no incluye la opción SOURCEUSER.

ms162820.note(es-es,SQL.90).gifNota:

Siempre que sea posible, utilice la autenticación de Windows.

/SourceS[erver] server_instance

Especifica el nombre de servidor que se utiliza con la opción SQL para habilitar la recuperación de un paquete SSIS que está almacenado en SQL Server. Es un error especificar SOURCESERVER en una línea de comandos que no incluye la opción SIGN SQL, COPYSQL o MOVESQL.

Un nombre de instancia de SQL Server se puede especificar agregando al nombre del servidor una barra diagonal inversa y el nombre de la instancia.

/SourceU[ser] username

Especifica el nombre de usuario que se utiliza con la opción SOURCESERVER para habilitar la recuperación de un paquete SSIS almacenado en SQL Server mediante autenticación de SQL Server. Es un error especificar SOURCEUSER en una línea de comandos que no incluye la opción SIGN SQL, COPY SQL o MOVE SQL.

ms162820.note(es-es,SQL.90).gifNota:

Siempre que sea posible, utilice la autenticación de Windows.

/SQ[L] package_path

Especifica la ubicación de un paquete SSIS. Esta opción indica que el paquete está almacenado en la base de datos msdb. El argumento package_path especifica la ruta y el nombre del paquete SSIS. Los nombres de carpetas terminan con barras diagonales inversas.

Si se especifica la opción SQL en la misma línea de comandos que cualquiera de las siguientes opciones, se devuelve DTEXEC_DTEXECERROR:

  • DTS
  • FILE
    La opción SQL puede estar acompañada por ninguna o una instancia de las siguientes opciones:
  • SOURCEUSER
  • SOURCEPASSWORD
  • SOURCESERVER

Si no se incluye SOURCEUSERNAME, se utiliza la autenticación de Windows para tener acceso al paquete. SOURCEPASSWORD se permite sólo si SOURCEUSER está presente. Si no se incluye SOURCEPASSWORD, se utiliza una contraseña en blanco.

ms162820.note(es-es,SQL.90).gifImportante:

No utilice una contraseña en blanco. Utilice una contraseña segura.

Códigos de salida de dtutil

dtutil establece un código de salida que le avisa cuando se detectan errores de sintaxis, se utilizan argumentos incorrectos o se especifican combinaciones no válidas de opciones. En caso contrario, la utilidad presenta el mensaje "Operación finalizada correctamente". La siguiente tabla enumera los valores que la utilidad dtutil puede establecer al salir.

Valor Descripción

0

La utilidad se ha ejecutado correctamente.

1

Error de la utilidad.

4

La utilidad no puede localizar el paquete solicitado.

5

La utilidad no puede cargar el paquete solicitado.

6

La utilidad no puede resolver la línea de comandos porque contiene errores sintácticos o semánticos.

Notas

No puede usar las líneas de comandos o redirección con dtutil.

El orden de las opciones de la línea de comandos no es significativo.

Ejemplos

Los siguientes ejemplos detallan escenarios típicos de uso de la línea de comandos.

Ejemplos de copia

Para copiar un paquete que está almacenado en la base de datos msdb de una instancia local de SQL Server utilizando la autenticación de Windows en el Almacén de paquetes SSIS, utilice la siguiente sintaxis:

dtutil /SQL srcPackage /COPY DTS;destPackage 

Para copiar un paquete desde una ubicación del sistema de archivos a otra ubicación y asignar a la copia un nombre diferente, utilice la siguiente sintaxis:

dtutil /FILE c:\myPackages\mypackage.dtsx /COPY FILE;c:\myTestPackages\mynewpackage.dtsx

Para copiar un paquete del sistema de archivos local en una instancia de SQL Server alojada en otro equipo, utilice la siguiente sintaxis:

dtutil / FILE c:\sourcepkg.dtsx / COPY SQL;destpkgname

Como no se han usado las opciones /DestU[ser] y /DestP[assword], se asume la autenticación de Windows.

Para crear un nuevo Id. para un paquete después de copiarlo, utilice la siguiente sintaxis:

dtutil /I /FILE copiedpkg.dtsx 

Para crear un nuevo Id. para todos los paquetes de una carpeta específica, utilice la siguiente sintaxis:

for %%f in (C:\test\SSISPackages\*.dtsx) do dtutil.exe /I /FILE %%f

Use un solo signo de porcentaje (%) al escribir el comando en el símbolo del sistema. Use un signo de porcentaje doble (%) si se utiliza el comando en un archivo de proceso por lotes.

Ejemplos de eliminación

Para eliminar un paquete que está almacenado en la base de datos msdb en una instancia de SQL Server que utiliza la autenticación de Windows, utilice la siguiente sintaxis:

dtutil /SQL delPackage /DELETE

Para eliminar un paquete que está almacenado en la base de datos msdb en una instancia de SQL Server que utiliza la autenticación de SQL Server, utilice la siguiente sintaxis:

dtutil /SQL delPackage /SOURCEUSER srcUserName /SOURCEPASSWORD #8nGs*w7F /DELETE

[!NOTA] Para eliminar un paquete de un servidor con nombre, incluya la opción SOURCESERVER y su argumento. Sólo puede especificar un servidor utilizando la opción SQL.

Para eliminar un paquete que está almacenado en el Almacén de paquetes SSIS, utilice la siguiente sintaxis:

dtutil /DTS delPackage.dtsx /DELETE

Para eliminar un paquete que está almacenado en el sistema de archivos, utilice la siguiente sintaxis:

dtutil /FILE c:\delPackage.dtsx /DELETE

Ejemplos de existencia

Para determinar si un paquete existe en la base de datos msdb de una instancia local de SQL Server que utiliza la autenticación de Windows, utilice la siguiente sintaxis:

dtutil /SQL srcPackage /EXISTS

Para determinar si un paquete existe en la base de datos msdb de una instancia local de SQL Server que utiliza la autenticación de SQL Server, utilice la siguiente sintaxis:

dtutil SQL srcPackage /SOURCEUSER srcUserName /SOURCEPASSWORD *hY$d56b /EXISTS

[!NOTA] Para determinar si un paquete existe en un servidor con nombre, incluya la opción SOURCESERVER y su argumento. Sólo puede especificar un servidor utilizando la opción SQL.

Para determinar si un paquete existe en el Almacén de paquetes local, utilice la siguiente sintaxis:

dtutil /DTS srcPackage.dtsx /EXISTS

Para determinar si un paquete existe en el sistema de archivos local, utilice la siguiente sintaxis:

dtutil /FILE c:\srcPackage.dtsx /EXISTS

Ejemplos de movimiento

Para mover un paquete que está almacenado en el Almacén de paquetes SSIS a la base de datos msdb de una instancia local de SQL Server que use la autenticación de Windows, utilice la siguiente sintaxis:

dtutil /DTS srcPackage.dtsx /MOVE SQL;destPackage

Para mover un paquete que esté almacenado en la base de datos msdb de una instancia local de SQL Server que utilice la autenticación de SQL Server a la base de datos msdb en otra instancia local de SQL Server que utilice la autenticación de SQL Server, utilice la siguiente sintaxis:

dtutil /SQL srcPackage /SOURCEUSER srcUserName /SOURCEPASSWORD $Hj45jhd@X /MOVE SQL;destPackage /DESTUSER destUserName /DESTPASSWORD !38dsFH@v

[!NOTA] Para mover un paquete de un servidor con nombre a otro, incluya las opciones SOURCES y DESTS y sus argumentos. Sólo puede especificar servidores utilizando la opción SQL.

Para mover un paquete que está almacenado en el Almacén de paquetes SSIS, utilice la siguiente sintaxis:

dtutil /DTS srcPackage.dtsx /MOVE DTS;destPackage.dtsx

Para mover un paquete que está almacenado en el sistema de archivos, utilice la siguiente sintaxis:

dtutil /FILE c:\srcPackage.dtsx /MOVE FILE;c:\destPackage.dtsx

Ejemplos de firma

Para firmar un paquete que está almacenado en una base de datos de SQL Server en una instancia local de SQL Server que utilice la autenticación de Windows, utilice la siguiente sintaxis:

dtutil /FILE srcPackage.dtsx /SIGN FILE;destpkg.dtsx;1767832648918a9d989fdac9819873a91f919

Para obtener información acerca del certificado, utilice CertMgr. El código hash puede verse en la utilidad CertMgr si se selecciona el certificado y, a continuación, se hace clic en Ver para ver las propiedades. La ficha Detalles proporciona más información acerca del certificado. La propiedad Thumbprint sirve como valor hash, sin los espacios.

[!NOTA] El hash utilizado en este ejemplo no es real.

Para obtener más información, vea la sección CertMgr en este artículo sobre la firma y la comprobación de código con Authenticode.

Ejemplos de cifrado

El siguiente ejemplo cifra el archivo PackageToEncrypt.dtsx basado en un archivo en el archivo EncryptedPackage.dts basado en un archivo, utilizando el cifrado de todo el paquete con una contraseña. La contraseña que se utiliza para el cifrado es EncPswd.

dtutil /FILE PackageToEncrypt.dtsx /ENCRYPT file;EncryptedPackage.dtsx;3;EncPswd

Vea también

Otros recursos

Cómo ejecutar un paquete en Business Intelligence Development Studio
Consideraciones acerca de Integration Services en equipos de 64 bits

Ayuda e información

Obtener ayuda sobre SQL Server 2005

Historial de cambios

Versión Historial

17 de julio de 2006

Contenido modificado:
  • Se han corregido el nombre y las opciones SOURCESERVER.
  • Se ha incluido una nota sobre la posibilidad de realizar tareas de dtutil en SQL Server Management Studio.

5 de diciembre de 2005

Contenido modificado:
  • Se agregó la descripción de cómo firmar un paquete de ejemplo.
  • Se agregó un ejemplo de cómo cifrar un paquete.
  • Se amplió la descripción de cómo usar las opciones para copiar y mover.