dtexec (utilidad)

Actualizado: 17 de noviembre de 2008

La utilidad del símbolo del sistema dtexec se utiliza para configurar y ejecutar paquetes de SQL Server 2005 Integration Services (SSIS). La utilidad dtexec proporciona acceso a todas las características de configuración y ejecución de paquetes, tales como conexiones, propiedades, variables, registro e indicadores de progreso. La utilidad dtexec permite cargar paquetes desde tres orígenes: una base de datos de Microsoft SQL Server, el servicio SSIS y el sistema de archivos.

ms162810.note(es-es,SQL.90).gifNota:
En un equipo de 64 bits, Integration Services instala una versión de 32 bits y otra de 64 bits de la utilidad dtexec (dtexec.exe).

La utilidad tiene cuatro fases por las que pasa durante su ejecución. Las fases son las siguientes:

  1. Fase de origen de comandos: el símbolo del sistema lee la lista de opciones y argumentos que se han especificado. Todas las fases subsiguientes se omiten si se encuentra una opción /? o /HELP.
  2. Fase de carga del paquete: se carga el paquete especificado por la opción /SQL, /FILE o /DTS.
  3. Fase de configuración: las opciones se procesan en el orden indicado a continuación:
    • Opciones que establecen variables, propiedades e indicadores de paquetes.
    • Opciones que comprueban la versión y la compilación del paquete.
    • Opciones que configuran el comportamiento de tiempo de ejecución de la utilidad, como la creación de informes.
  4. Fase de ejecución y validación: el paquete se ejecuta o se valida sin ejecutarse si se ha especificado la opción /VALIDATE.

Códigos de salida devueltos por la utilidad dtexec

Cuando se ejecuta un paquete, dtexec puede devolver un código de salida. El código de salida se utiliza para rellenar la variable ERRORLEVEL, cuyo valor se puede probar en instrucciones condicionales o lógica de bifurcaciones en un archivo de proceso por lotes. La siguiente tabla enumera los valores que la utilidad dtexec puede establecer al salir.

Valor Descripción

0

El paquete se ejecutó correctamente.

1

Se produjo un error en el paquete.

3

El usuario canceló el paquete.

4

La utilidad no pudo localizar el paquete solicitado. No se pudo encontrar el paquete.

5

La utilidad no pudo cargar el paquete solicitado. No se pudo cargar el paquete.

6

La utilidad encontró un error interno semántico o sintáctico en la línea de comandos.

Reglas de sintaxis de la utilidad

Todas las opciones deben comenzar con una barra diagonal (/) o un signo menos (-). Las opciones que se muestran aquí empiezan con una barra diagonal (/), aunque se puede sustituir por el signo menos (-).

Si el argumento contiene un espacio, debe ir entre comillas. Si el argumento no está entre comillas, no podrá contener espacios en blanco.

Las dobles comillas dentro de cadenas entre comillas representan comillas simples de escape.

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

Usar dtexec desde xp_cmdshell

Puede ejecutar dtexec desde el símbolo del sistema xp_cmdshell. En el siguiente ejemplo se muestra cómo ejecutar un paquete denominado UpsertData.dtsx y pasar por alto el código de retorno:

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

En el siguiente ejemplo se muestra cómo ejecutar el mismo paquete y capturar el código de retorno:

DECLARE @returncode int
EXEC @returncode = xp_cmdshell 'dtexec /f "C:\UpsertData.dtsx"'
ms162810.note(es-es,SQL.90).gifImportante:
En Microsoft SQL Server 2005, la opción xp_cmdshell está deshabilitada de forma predeterminada en las nuevas instalaciones. La opción se puede habilitar mediante la herramienta de configuración de superficie o al ejecutar el procedimiento almacenado del sistema sp_configure. Para obtener más información, vea xp_cmdshell (opción).


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

Para entender la correspondencia entre las opciones del símbolo del sistema utilizadas con la utilidad dtsrun de SQL Server 2000 y las opciones del símbolo del sistema empleadas con la utilidad dtexec de SQL Server 2005, vea Correspondencia entre las opciones de comando de dtsrun y dtexec. Para obtener sugerencias acerca de la actualización de estas utilidades, vea Actualizar las líneas de comandos de dtsrun.

Opción Descripción

/? [option_name]

(Opcional) Muestra las opciones del símbolo del sistema o proporciona ayuda para el argumento option_name especificado y, a continuación, cierra la utilidad.

Si especifica un argumento option_name, dtexec abre los Libros en pantalla de SQL Server y muestra el tema dtexec (utilidad).

/CheckF[ile] filespec

(Opcional) Establece la propiedad CheckpointFileName del paquete en la ruta de acceso y el archivo especificados en filespec. Este archivo se utiliza cuando se reinicia el paquete. Si se especifica esta opción y no se proporciona ningún valor para el nombre de archivo, el valor de CheckpointFileName para el paquete se establece en una cadena vacía. Si no se especifica esta opción, los valores del paquete se conservan.

/CheckP[ointing] {on\off}

(Opcional) Establece un valor que determina si el paquete utiliza puntos de comprobación durante su ejecución. El valor on especifica que un paquete que haya devuelto un error debe volver a ejecutarse. Cuando se vuelve a ejecutar el paquete que ha devuelto el error, el motor en tiempo de ejecución utiliza el archivo de punto de comprobación para reiniciar el paquete desde el punto de error.

El valor predeterminado es on si la opción se declara sin un valor. La ejecución del paquete devolverá errores si el valor se establece en on y no se encuentra el archivo de punto de comprobación. Si no se especifica esta opción, se conserva el valor establecido en el paquete. Para obtener más información, vea Usar puntos de comprobación en paquetes.

La opción /CheckPointing on de dtexec equivale a establecer en True el valor de la propiedad SaveCheckpoints del paquete y el de la propiedad CheckpointUsage en Always.

/Com[mandFile] filespec

(Opcional) Especifica que, durante la fase de origen de comandos de la utilidad, el archivo especificado en filespec se abre y las opciones del archivo se leen hasta que se encuentra EOF en dicho archivo. filespec es un archivo de texto que contiene opciones de comando dtexec adicionales. El argumento filespec especifica el nombre y la ruta del archivo de comandos que se debe asociar con la ejecución del paquete.

/Conf[igFile] filespec

(Opcional) Especifica un archivo de configuración del que se extraerán valores. Si utiliza esta opción, puede establecer una configuración en tiempo de ejecución que difiera de la configuración especificada para el paquete durante el diseño. Puede almacenar parámetros de configuración diferentes en un archivo de configuración XML y después cargarlos mediante la opción /ConfigFile antes de la ejecución del paquete.

Si la opción /ConfigFile especifica una ubicación para el archivo de configuración diferente de la que especifica el paquete, la utilidad dtexec podría generar una advertencia. Puede omitir esta advertencia. Siempre que la opción /ConfigFile especifique una ruta de acceso al archivo válida, la utilidad dtexec buscará y utilizará el archivo de configuración que la opción /ConfigFile especifique.
ms162810.note(es-es,SQL.90).gifNota:

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

(Opcional). Especifica que el administrador de conexiones con el nombre o el GUID especificado se encuentra en el paquete, y especifica una cadena de conexión.

Esta opción requiere que se especifiquen ambos parámetros: el nombre del administrador de conexión o el GUID debe proporcionarse en el argumento id_or_name y se debe especificar una cadena de conexión válida en el argumento connection_string. Para obtener más información, vea Administradores de conexión.

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

(Opcional) Muestra entradas de registro especificadas en la consola durante la ejecución del paquete. Si se omite esta opción, no se muestran entradas de registro en la consola. Si se especifica la opción sin parámetros que limiten la visualización, se muestran todas las entradas del registro. Para limitar las entradas que se muestran en la consola, puede especificar las columnas que se mostrarán mediante el parámetro displayoptions y limitar los tipos de entrada de registro mediante el parámetro list_options.

Éstos son los valores de displayoptions:

  • N (Nombre)
  • C (Equipo)
  • O (Operador)
  • S (Nombre de origen)
  • G (GUID de origen)
  • X (GUID de ejecución)
  • M (Mensaje)
  • T (Hora de inicio y de finalización)

Éstos son los valores de list_options:

  • I: especifica la lista de inclusión. Sólo se registran los nombres de origen o GUID que se especifican.
  • E: especifica la lista de exclusión. No se registran los nombres de origen o GUID que se especifican.
  • El parámetro src_name_or_guid especificado para la inclusión o exclusión es un nombre de evento, nombre de origen o GUID de origen.

Si utiliza varias opciones /ConsoleLog en el mismo símbolo del sistema, éstas interactúan de la siguiente manera:

  • Su orden de aparición no tiene ningún efecto.
  • Si no hay listas de inclusión presentes en la línea de comandos, las listas de exclusión se aplican a todos los tipos de entradas de registro.
  • Si hay cualquier lista de inclusión presente en la línea de comandos, las listas de exclusión se aplican sobre la unión de todas las listas de inclusión.

Para obtener varios ejemplos de la opción /ConsoleLog, vea la sección Notas.

/D[ts] package_path

(Opcional) Carga un paquete desde el Almacén de paquetes SSIS. El argumento package_path especifica la ruta relativa al paquete SSIS, empezando en la raíz del Almacén de paquetes SSIS, e incluye el nombre del paquete SSIS. Si la ruta de acceso o el nombre de archivo especificado en el argumento package_path contiene un espacio, debe escribir el argumento package_path entre comillas.

La opción /DTS no se puede usar junto con la opción /File o /SQL. Si se especifican varias opciones, dtexec devuelve un error.

/De[crypt] password

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

/F[ile] filespec

(Opcional) Carga un paquete que se guarda en el sistema de archivos. El argumento filespec especifica la ruta y el nombre de archivo del paquete. Puede especificar la ruta como una ruta UNC (Convención de nomenclatura universal) o como una ruta local. Si la ruta de acceso o el nombre de archivo especificado en el argumento filespec contiene un espacio, debe escribir el argumento filespec entre comillas.

La opción /File no se puede usar junto con la opción /DTS o /SQL. Si se especifican varias opciones, dtexec devuelve un error.

/H[elp] [option_name]

(Opcional) Muestra ayuda para las opciones o para el argumento option_name especificado y cierra la utilidad.

Si especifica un argumento option_name, dtexec abre los Libros en pantalla de SQL Server y muestra el tema dtexec (utilidad).

/L[ogger] classid_orprogid;configstring

(Opcional) Asocia uno o más proveedores de registro con la ejecución de un paquete SSIS. El parámetro classid_orprogid especifica el proveedor de registro y puede especificarse como GUID de clase. configstring es la cadena que se utiliza para configurar el proveedor de registro.

La siguiente lista muestra los proveedores de registro disponibles:

  • Archivo de texto:
    • ProgID: DTS.LogProviderTextFile.1
    • ClassID: {59B2C6A5-663F-4C20-8863-C83F9B72E2EB}
  • Analizador de SQL Server:
    • ProgID: DTS.LogProviderSQLProfiler.1
    • ClassID: {5C0B8D21-E9AA-462E-BA34-30FF5F7A42A1}
  • SQL Server:
    • ProgID: DTS.LogProviderSQLServer.1
    • ClassID: {6AA833A1-E4B2-4431-831B-DE695049DC61}
  • Registro de sucesos de Windows:
    • ProgID: DTS.LogProviderEventLog.1
    • ClassID: {97634F75-1DC7-4F1F-8A4C-DAF0E13AAA22}
  • Archivo XML:
    • ProgID: DTS.LogProviderXMLFile.1
    • ClassID: {AFED6884-619C-484F-9A09-F42D56E1A7EA}

/M[axConcurrent] concurrent_executables

(Opcional) Especifica el número de archivos ejecutables que el paquete puede ejecutar simultáneamente. El valor especificado debe ser un número entero no negativo o -1. El valor -1 significa que SSIS permitirá la ejecución simultánea de un número máximo de archivos que sea igual al número total de procesadores del equipo que ejecuta el paquete más dos.

/P[assword] password

(Opcional) Permite la recuperación de un paquete protegido por la autenticación de SQL Server. Esta opción se utiliza junto con la opción /User. Si se omite la opción /Password y se utiliza la opción /User, se utiliza una contraseña en blanco. El valor de password puede entrecomillarse.

Siempre que sea posible, utilice la autenticación de Windows.
ms162810.security(es-es,SQL.90).gifNota de seguridad:

/Rem comment

(Opcional) Incluye comentarios en el símbolo del sistema o en los archivos de comandos. El argumento es opcional. El valor de comment es una cadena que debe incluirse entre comillas o no debe contener ningún espacio en blanco. Si no se especifica ningún argumento, se inserta una línea en blanco. Los valores de comment se descartan durante la fase de origen de comandos.

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

(Opcional) Especifica el tipo de mensajes que se notificarán. Las opciones de informes disponibles para level son las siguientes:

N    Sin informes.

E    Se notifican los errores.

W    Se notifican las advertencias.

I    Se notifican los mensajes informativos.

C    Se notifican los eventos personalizados.

D    Se notifican los eventos de la tarea Flujo de datos.

P    Se notifica el progreso.

V    Informes detallados.

Los argumentos V y N se excluyen mutuamente con los otros argumentos, por lo que deben especificarse solos. Si no se especifica la opción /Reporting, el nivel predeterminado es E (errores), W (advertencias) y P (progreso).

Todos los eventos van precedidos de una marca de hora en el formato "AA/MM/DD HH:MM:SS" y un GUID o nombre descriptivo si está disponible.

El parámetro opcional event_guid_or_name es una lista de excepciones para los proveedores de registro. La excepción especifica los eventos que no se registran pero que podrían haberse registrado.

No es necesario excluir un evento si éste no se registra habitualmente de forma predeterminada.

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

(Opcional) Especifica un nuevo valor para la propiedad CheckpointUsage del paquete. El significado de los parámetros es el siguiente:

Deny   Establece la propiedad CheckpointUsage en DTSCU_NEVER.

Force   Establece la propiedad CheckpointUsage en DTSCU_ALWAYS.

ifPossible   Establece la propiedad CheckpointUsage en DTSCU_IFEXISTS.

Si no se especifica ningún valor, se utiliza el valor predeterminado de force.

/Set propertyPath;value

(Opcional) Anula la configuración de una variable, la propiedad, el contenedor, el proveedor de registro, el enumerador Foreach o la conexión en un paquete. Cuando se utiliza esta opción, /SET cambia el argumento propertyPath al valor especificado. Se pueden especificar varias opciones /SET.

Puede ejecutar el Asistente para la configuración de paquetes para determinar el valor de propertyPath. Las rutas de los elementos que seleccione se muestran en la página Finalización del asistente y se pueden copiar y pegar. Si ha utilizado el asistente exclusivamente con este fin, puede cancelarlo después de copiar las rutas de acceso.

A continuación, se muestra un ejemplo de ejecución de un paquete y de suministro de un nuevo valor para una variable.

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

/Ser[ver] server

(Opcional) Se utiliza cuando se especifica la opción /SQL o /DTS y especifica el nombre del servidor del que se recupera el paquete. Si omite la opción /Server y se especifica la opción /SQL o /DTS, se intenta le ejecución del paquete sobre un servidor local. El valor de server_instance puede entrecomillarse.

/SQ[L] package_path

Carga un paquete que se almacena en SQL Server. El argumento package_path especifica el nombre del paquete que se recuperará. Si las carpetas se incluyen en la ruta, finalizan con barras diagonales inversas ("\"). El valor de package_path puede entrecomillarse. Si la ruta de acceso o el nombre de archivo especificado en el argumento package_path contiene un espacio, debe escribir el argumento package_path entre comillas.

Puede usar las opciones /User, /Password y /Server junto con la opción /SQL.

Si omite la opción /User, se utiliza la autenticación de Windows para tener acceso al paquete. Si utiliza la opción /User, el nombre de inicio de sesión /User especificado se asocia con la autenticación de SQL Server.

La opción /Password se utiliza junto con la opción /User. Si utiliza la opción /Password, se tiene acceso al paquete con la información de nombre de usuario y contraseña que se ha proporcionado. Si omite la opción /Password, se utiliza una contraseña en blanco.

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

Si se omite la opción /Server, se asume la instancia local predeterminada de SQL Server.

La opción /SQL no se puede usar junto con la opción /DTS o /File. Si se especifican varias opciones, dtexec devuelve un error.

/Su[m]

(Opcional) Muestra un contador incremental que contiene el número de filas que recibirá el siguiente componente.

/U[ser] user_name

(Opcional) Permite la recuperación de un paquete protegido por la autenticación de SQL Server. Esta opción se utiliza sólo cuando se especifica la opción /SQL. El valor de user_name puede entrecomillarse.

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

/Va[lidate]

(Opcional) Detiene la ejecución del paquete después de la fase de validación sin ejecutar realmente el paquete. Durante la validación, el uso de la opción /WarnAsError hace que dtexec trate una advertencia como un error; por consiguiente, el paquete devuelve un error cuando se produce una advertencia durante la validación.

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

(Opcional) Comprueba el número de compilación de un paquete con los números de compilación que se especificaron durante la fase de verificación en los argumentos major, minor y build. Si se produce una discrepancia, el paquete no se ejecuta.

Los valores son enteros largos. El argumento puede tener una de las tres formas, con un valor para major siempre obligatorio:

  • major
  • major;minor
  • major; minor; build

/VerifyP[ackageID] packageID

(Opcional) Comprueba el GUID del paquete que se ejecutará al compararlo con el valor especificado en el argumento package_id.

/VerifyS[igned]

(Opcional) Si se especifica, esta opción hace que el paquete devuelva un error si no está firmado.

/VerifyV[ersionID] versionID

(Opcional) Comprueba el GUID de versión de un paquete que se ejecutará al compararlo con el valor especificado en el argumento version_id durante la fase de validación del paquete.

/W[arnAsError]

(Opcional) Hace que el paquete considere una advertencia como un error y que, por consiguiente, el paquete devuelva un error si se produce una advertencia durante la validación. Si no se produce advertencia durante la validación y no se especifica la opción /Validate, se ejecuta el paquete.

El orden en el que se especifican las opciones de comandos puede influir en la forma en que se ejecuta el paquete:

  • Las opciones se procesan en el orden en el que se encuentran en la línea de comandos. Los archivos de comandos se leen en el orden en que se encuentran en la línea de comandos. Los comandos del archivo de comandos también se procesan en el orden en que se encuentran.
  • Si la misma opción, parámetro o variable aparece en la misma instrucción de línea de comandos más de una vez, tiene prioridad la última instancia de la opción.
  • Las opciones /Set y /ConfigFile se procesan en el orden en el que se encuentran.

Ejecutar paquetes

Para ejecutar un paquete SSIS guardado en SQL Server utilizando la autenticación de Windows, utilice el siguiente código:

dtexec /sq pkgOne /ser productionServer

Para ejecutar un paquete SSIS guardado en la carpeta Sistema de archivos en el almacén de paquetes SSIS, utilice el siguiente código:

dtexec /dts "\File System\MyPackage"

Para validar un paquete que utiliza la autenticación de Windows y se guarda en SQL Server sin ejecutar el paquete, utilice el siguiente código:

dtexec /sq pkgOne /ser productionServer /va

Para ejecutar un paquete SSIS que se guarda en el sistema de archivos, utilice el siguiente código:

dtexec /f "c:\pkgOne.dtsx" 

Para ejecutar un paquete SSIS que se guarda en el sistema de archivos y especificar opciones de registro, utilice el siguiente código:

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

Para ejecutar un paquete que utiliza la autenticación de Windows y se guarda en la instancia local predeterminada de SQL Server, y comprobar la versión antes de que se ejecute, utilice el siguiente código:

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

Para ejecutar un paquete SSIS que se guarda en el sistema de archivos y que se ha configurado externamente, utilice el siguiente código:

dtexec /f "c:\pkgOne.dtsx" /conf "c:\pkgOneConfig.cfg"
ms162810.note(es-es,SQL.90).gifNota:
Los argumentos package_path o filespec de las opciones /SQL, /DTS o /FILE deben ir entre comillas siempre que la ruta o el nombre del archivo contenga un espacio en blanco. Si el argumento no está entre comillas, no podrá contener espacios en blanco.

Opción de registro

Si hay tres tipos de entrada de registro, A, B y C, la siguiente opción ConsoleLog sin un parámetro muestra los tres tipos de registro con todos los campos:

/CONSOLELOG

La siguiente opción muestra todos los tipos de registro, pero sólo con las columnas Name y Message:

/CONSOLELOG NM

La siguiente opción muestra todas las columnas, pero sólo para el tipo de entrada de registro A:

/CONSOLELOG I;LogEntryTypeA

La siguiente opción sólo muestra el tipo de entrada de registro A con las columnas Name y Message:

/CONSOLELOG NM;I;LogEntryTypeA

La siguiente opción muestra las entradas del tipo de entrada de registro A y B:

/CONSOLELOG I;LogEntryTypeA;LogEntryTypeB

Puede lograr los mismos resultados mediante varias opciones de ConsoleLog:

/CONSOLELOG I;LogEntryTypeA /CONSOLELOG I;LogEntryTypeB

Si se utiliza la opción ConsoleLog sin parámetros, se muestran todos los campos. La inclusión de un parámetro de list_options hace que se muestre sólo el tipo de entrada de registro A con todos los campos:

/CONSOLELOG NM;I;LogEntryTypeA /CONSOLELOG

La siguiente opción muestra todas las entradas de registro excepto el tipo de entrada de registro A, lo que significa que se muestran los tipos de entrada de registro B y C:

/CONSOLELOG E;LogEntryTypeA

El siguiente ejemplo obtiene los mismos resultados utilizando varias opciones ConsoleLog y una única exclusión:

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

El siguiente ejemplo no muestra mensajes de registro, porque, cuando un tipo de archivo de registro figura tanto en la lista de exclusiones como en la de inclusiones, éste se excluye.

/CONSOLELOG E;LogEntryTypeA /CONSOLELOG I;LogEntryTypeA

Opción SET

A continuación se muestra cómo utilizar la opción /SET, que permite cambiar el valor de cualquier propiedad o variable de paquete al iniciar el paquete desde la línea de comandos.

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

Versión Historial

17 de noviembre de 2008

Contenido modificado:
  • Se agregó una nota sobre la advertencia que la utilidad dtexec genera si la opción /ConfigFile especifica un archivo de configuración diferente del que especifica el paquete.

17 de julio de 2006

Contenido modificado:
  • Se explicaron más detalladamente los códigos de error.
  • Se agregó un ejemplo de sintaxis que muestra la captura del código de error.
  • Se ha dejado constancia de la correspondencia entre la opción CheckPointing on y la propiedad CheckpointUsage de la UI.

14 de abril de 2006

Contenido modificado:
  • Se ha explicado que los parámetros que incluyen espacios deben escribirse entre comillas.
  • Se ha agregado un ejemplo sobre cómo ejecutar un paquete SSIS guardado en el sistema de archivos.

5 de diciembre de 2005

Contenido modificado:
  • Se agregó una observación importante que especifica que la opción xp_cmdshell está deshabilitada de forma predeterminada.

Adiciones de comunidad

AGREGAR
Mostrar: