script paquete not job how ejecutar desde deploy debug .net sql-server debugging ssis

.net - paquete - ssis package in sql agent



DepuraciĆ³n en SSIS (6)

Asegúrese de que también está ejecutando el paquete completo. El depurador para los puntos de ruptura del paquete no se activará hasta que lo hagas.

Las tareas de depuración de scripts funcionan de una manera similar.

¿Cómo depuro el código .NET escrito dentro de una tarea de script en un paquete SSIS? El entorno de desarrollo permite colocar un punto de interrupción, sin embargo, no me lleva al código como lo haría en la programación .NET habitual durante la depuración.

Además, no entiendo cómo agregar las variables del paquete SSIS a la ventana de vigilancia de depuración.

Actualmente una cosa que pensé fue el uso de msgbox. Pero eso no sustituye a una depuración completa en el entorno de desarrollo. Cualquier ayuda es apreciada. Gracias.


Creo que SSIS admite y se detiene en el punto de interrupción en la tarea de script (en el flujo de control). No lo admite para Script Transform (en el flujo de datos). De hecho es muy desafortunadas las restricciones.

SSIS muestra valores variables en la ventana de vigilancia cuando se detiene en un punto de interrupción. No estoy seguro de los puntos de interrupción del script, pero los puntos de interrupción de SSIS (en ejecución previa, etc.) funcionan. Pero necesita un punto de interrupción: no puede ver un valor variable en un momento aleatorio sin un punto de interrupción.


Depurar paquetes de SSIS dentro del entorno BIDS no es el mismo juego de pelota que trabajar con Visual Studio.

Puede resultarle útil consultar la referencia Debugging How-To-Topics (SSIS)

Si ha desarrollado su propio componente personalizado, es decir, desde Visual Studio, entonces debería poder depurar la funcionalidad específica de ese componente dentro del entorno de Visual Studio, antes de hacer que el componente esté disponible para su uso dentro del BIDS.

No puede depurar el código .NET interno que conforma ninguno de los otros componentes SSIS integrados (es decir, la tarea FTP) en BIDS, por lo que dudo que un componente personalizado sea diferente.


Nota: Si está ejecutando en x64, debe cambiar el proyecto (SSIS) Debug propertie Run64BitRuntime a false.

Después de eso, podrá depurar una tarea de script en .net y romper el código en el script.

Por cierto, John Sansom no parece haber leído esta parte de la pregunta: ¿Cómo depuro el código .NET escrito en una tarea de script en un paquete SSIS? Es una tarea de script, no la depuración de SSIS normal.

Espero que esto ayude.


aunque el componente de secuencia de comandos en la tarea de flujo de datos no permitirá ninguna otra forma de depuración que no sean las soluciones alternativas, como el progreso de la escritura con regularidad, los cuadros de mensajes, etc.

El elemento de flujo de control de tareas de script permitirá al desarrollador depurar el código SSIS

Encontré esto recientemente. :)


Puede adjuntar un depurador a (casi) cualquier proceso para el cual esté escribiendo código .NET incrustando una llamada a Debugger.Break en el punto correspondiente de su fuente.

Cotizando MSDN:

Si no se adjunta ningún depurador, se pregunta a los usuarios si desean adjuntar un depurador. Si es así, se inicia el depurador. Si se adjunta un depurador, el depurador se señala con un evento de punto de interrupción del usuario, y el depurador suspende la ejecución del proceso como si se hubiera alcanzado un punto de interrupción del depurador.

He usado esto para depurar todo tipo de cosas, incluido el código C # incrustado en SSIS.

Actualizado : redacción modificada ya que esta ya no es una técnica teórica, sino una que he usado.