none
SSIS Package no se ejecuta desde sql agent job RRS feed

  • Pregunta

  • Buenos días a todos, antes que nada les agradezco el tiempo que se toman para apoyarme.

    El problema es el siguiente:

    Tengo un paquete que dentro de el ejecuta una aplicación de comando.

    Dentro de mi ambiente Sql Server Data Tools se ejecuta perfectamente, cuando lo implemento dentro de mi SSISDB también se ejecuta manualmente bien.

    El problema viene cuando lo mando llamar desdel Agente de SQL Server mediante un Job., deja de funcionar, no manda error pero se queda "ejecutando..." y de allí no sale.

    revisando en los foros dan una opción para ejecutarlo mediante una credencial/proxy.

    y ya lo hice, y también funciona perfectamente cuando la credencial tiene la identidad como administrador 'UserAdmin' (cuenta con la que instalé SQL SERVER y todos sus servicios)

    Pero no quiero crear una credencial como administrador para ejecutar un paquete, me gustaría tener un usuario estándar que pudiera ejecutarlo mediante una credencial, y es allí en donde me encuentro atorado.

    Jugando un poco, tomé la cuenta estándar  'SqlAgent' que es la que levanta los servicios del agente y la puse como credencial y obviamente no funcionó, así que desde Windows la cambié a tipo: 'Administrador' y corrí el paquete nuevamente desde el job y no funciona, luego agregue la cuenta 'SqlAgent' al servidor de base de datos y la subi a sysAdmin en roles de servidor pero tampoco funciona!

    por qué? no entiendo por qué no funciona con una cuenta autentificada con Windows como administrador em Windows y en SQL Server.

    Solamente hasta que regreso la credencial de 'UserAdmin' vuelve a funcionar, que tiene de más la cuenta con la que instalo Sql Server?

    Aun así, no es la idea tener una cuenta de admin para ejecutar un paquete.

    Me gustaría saber que privilegios mínimos tengo que dar tanto en windows como en Sql para poder ejecutar éste paquete desde un job, les agradeceré detalle.

    Ya quedé hecho bolas con tanta información dispersa en los foros jeje

    muchas gracias


    saludos

    viernes, 8 de noviembre de 2013 15:19

Respuestas

Todas las respuestas

  • Hola kakaroto2012:

    Empecemos por el principio, 

    1. La cuenta que levanta el servicio no es la cuenta que ejecuta el job, si no el que levanta el servicio; osea solo inicia el servicio y no ejecuta jobs con esa cuenta.

    2. El que ejecuta el job con un paquete de SSIS en si es el owner del job, ahora esta cuenta si deseas que sea con la autentificacion de windows debes agregarle a los login del servidor con el rol de sysadmin o crear un usuario de sql server igualmente con el rol sysadmin.

    Espero con esto si funcione, si no bueno cuentanos como te va.

    Saludos

    Lincoln VS

    sábado, 9 de noviembre de 2013 22:51
  • Ahora con lo comentado mi estimado, caí en otro problema, ...

    de la misma forma en Data Tools y en SSISDB manualmente funciona perfecto

    pero cuando lo hago desde un Job con el Agente el trabajo me indica que lo ejecutó correctamente

    pero no en realidad.

    Ésta vez tengo problemas con 'la tarea de sistema de archivos' va a otro servidor a copiar 6 archivos planos csv, el job indica que finaliza bien el proceso, pero no extrae ningún archivo de ese servidor.

    Además cuando verifico el log de SSISDB me manda una advertencia en esa tarea indicándome que no encontró ningún archivo.

    Es extraño no?, no envía error de acceso denegado, tampoco de que no encuentra la ruta.

    aquí no creo que sea problema de la arquitectura que tengo apagada a 64 bits. 

    alguna idea por dónde buscar?


    saludos

    lunes, 11 de noviembre de 2013 13:30
  • el problema anterior es que estaba accediendo al servidor de la siguiente forma:

    \\148.246.216.148\C$\PerfLogs

    sólo tuve que corregirlo compartiendo la carpeta

    \\148.246.216.148\PerfLogs

    Es que el disco duro estaba todo compartido, por eso podía mapear la unidad C;\

    pero compartiendo solamente la carpeta fue suficiente.

    ya nada mas me queda como duda si en realidad necesito tener una cuenta admin para ejecutar el paquete.


    saludos

    lunes, 11 de noviembre de 2013 13:51
  • Hola.

    Seguro que no. Será preciso que la cuenta con la que corra el paquete tenga unos permisos que sean precisos para realizar las operaciones que tenga que hacer, pero no más.

    Ten en cuenta que los jobs, por defecto, se ejecutan con la cuenta del SQL Server Agent, pero esto es un comportamiento que puedes modificar para un paso concreto de un job concreto. Revisa aquí, se indica cómo:

    http://technet.microsoft.com/es-es/library/ms189064(v=sql.105).aspx


    Alberto López Grande
    SQL Server MVP
    Visita mi blog en http://qwalgrande.com
    Sígueme en twitter en http://twitter.com/qwalgrande

    sábado, 16 de noviembre de 2013 7:30
    Moderador