sql >> Base de Datos >  >> RDS >> Sqlserver

¿Qué credenciales de usuario utiliza el catálogo de servicios de integración para ejecutar paquetes?

Ejecuciones de paquetes:

Herramientas de datos de SQL Server:

Credenciales de usuario con las que SQL Server Data Tools (SSDT) está operando se usará para ejecutar los paquetes que se ejecutan dentro de SSDT.

En Inicio de Windows \ Todos los programas \ Microsoft SQL Server 2012, si hace clic en Herramientas de datos de SQL Server, se ejecutará con sus credenciales. Para ejecutar con una cuenta de usuario diferente, puede presionar Ctrl + Mayús para seleccionar Run as different user opción.

Servicios de catálogo de integración:

Cuando hace clic con el botón derecho en un paquete en Integration Services Catalog \ SSISDB \ <Folder name> \ Projects \ <Project name> \ Packages \ <Package name> y seleccione Execute... para ejecutar un paquete. El paquete se ejecutará con las credenciales utilizadas para conectarse a SQL Server Management Studio.

Tenga en cuenta que si intenta ejecutar un paquete mediante la autenticación de SQL Server, recibirá el siguiente mensaje de error:

Después de presionar Execute... , SQL Server hace girar un proceso ISServerExec.exe , que inicia un Console Window Host proceso:

ISServerExec.exe es un programa que ejecuta paquetes en SSIS Catalog. En este caso, se inicia bajo el mismo usuario que ejecuta un paquete SSIS desde SQL Server Management Studio.

Trabajo del Agente SQL Server sin proxy:

Cuando ejecuta un paquete SSIS desde dentro de un trabajo del Agente SQL Server , el paso de trabajo se ejecuta de forma predeterminada en SQL Server Agent Service Account . El servicio del Agente SQL Server asociado a la cuenta de usuario se puede encontrar navegando a Windows Start \ Administrative Tools \ Services , busque el servicio Agente SQL Server (Your Instance Name ) y busque la cuenta de usuario que aparece en Log On As

Trabajo del Agente SQL Server con proxy:

También puede ejecutar un trabajo del Agente SQL Server con diferentes credenciales creando una cuenta de proxy. Cuando los pasos de trabajo se ejecutan con una cuenta de proxy, el paquete del paso de trabajo se ejecutará con la credencial especificada en la cuenta de proxy.

A continuación, la respuesta SO proporciona instrucciones paso a paso para crear una cuenta de proxy para ejecutar trabajos del Agente SQL Server.

¿Cómo creo un paso en mi trabajo del Agente SQL Server que ejecutará mi paquete SSIS?

Cómo verificar:

Paquete de SSIS 2012 de muestra:

Esto es lo que hice para verificar las declaraciones anteriores con respecto a las cuentas de usuario utilizadas para la ejecución de paquetes.

  • Abra SQL Server Data Tools y cree un paquete SSIS 2012 llamado SO_15289442.dtsx .

  • Cree una variable llamada ExecutionUser de tipo de datos String . Asigne la expresión @[System::UserName] a la variable. UserName es una variable del sistema que proporciona la información del usuario que ejecuta el paquete.

  • Arrastre y suelte Enviar tarea de correo en el Flujo de datos pestaña.

  • Cree una conexión SMTP y asígnela a SmtpConnection en el editor de tareas de envío de correo:página de correo.

  • Especifique el From y To direcciones de correo electrónico.

  • Cambiar el MessageSourceType a Variable .

  • Establecer el MessageSource a User::ExecutionUser .

  • Haga clic con el botón derecho en el paquete y seleccione Implementar para implementar el proyecto en el Catálogo de servicios de integración disponible en un servidor de su elección.

Ejecuciones de paquetes

  • Ejecute el paquete dentro de SSDT.

  • Abra SSDT usando la opción Ejecutar como un usuario diferente. Proporcione una credencial diferente a la suya y vuelva a ejecutar el paquete.

  • Ejecute el paquete desde el catálogo de servicios de integración.

  • Cree un trabajo del Agente SQL Server para ejecutar el paquete mediante la cuenta de servicio del Agente SQL Server.

  • Cree un trabajo del Agente SQL Server para ejecutar el paquete usando una cuenta de proxy.

Por cada ejecución mencionada anteriormente, recibirá un correo electrónico con la cuenta de usuario que se utilizó para ejecutar el paquete.

Tu problema:

En su caso, el paquete se ejecutará bajo su cuenta (asumiendo que está utilizando sus credenciales para acceder a SSISDB ) si hace clic con el botón derecho y selecciona Ejecutar desde el catálogo de Integration Services. Asegúrese de que la cuenta tenga acceso a la ruta de la red.

Si está ejecutando su paquete desde el trabajo del Agente SQL Server, la cuenta de proxy es run as another user opción que está viendo.