Cambiar el usuario de ejecución de un Job

Quisiera que alguien me pudiese ayudar con un inconveniente, este es porque he realizado un procedimiento que contiene consultas con servidores vinculados y funciona muy bien cuando lo ejecuto manualmente dentro del Analizador de Consultas ya que inicio con un usuario y contraseña específico, más sin embargo he generado un Job que ejecute dicho procedimiento almacenado diariamente, ¿más sin embargo me marca error de inicio de sesión... Como puedo cambiarle el usuario de ejecución o como es que debo de crear este job para que me tome el inicio de sesión correcto?... Help me plis

1 respuesta

Respuesta
1
Si usas la version 2005 usa dentro de tu SP la sentencia execute as.
Definitivamente es una buena opción la que me das con el EXECUTE AS, ya he investigado en eso y me parece una buena solución, más sin embargo el SQL Server en el que estoy trabajando es el 2000 y por lo que he buscado (a raíz de tu propuesta) no he encontrado que aplique para esta version ni nada similar a ello... no se que hacer, llevo días con esto mismo y me uuuuurge solucionarlo... de antemano muchísimas gracias por tu apoyo y espero puedas ayudarme con esta nueva información... ;)
Otra cosa que puedes hacer es que te loguees en la computadora con el usuario que usas en el analizador de consultas y vuelvas a crear el job con el usuario ya correcto.
Otra cosa que puedes hacer es cambiar el propietario del SP que has creado por el que si te permite, esto lo puedes hacer utilizando el comando sp_changeobjectowner.
Me comentas como te va en caso no te funcione para ver que más podemos hacer.
OOhh! Cielos
Dirás que doy mucha lata, pero he hecho lo que me has indicado, pero aun así no lo corre adecuadamente, te cuento la triste historia de este proceso:
   Todo comenzó con un procedimiento almacenado que debía de contener una consulta con Servidores vinculados, se logró, después de activar el MS DTC en ambos servidores para conseguir aplicar un ROLLBACK TRANSACTION; y hacer un montón de consultas a expertos como tu, (bueno no tantas, pero que fueron de gran ayuda) entonces lo coloque en un trabajo en donde se debe de ejecutar todos los días a determinada hora, y también lo he creado en el analizador con el usuario y contraseña con la que se ejecuta el SP correctamente, aún así me marca error de inicio de sesión. He de aclararte que el usuario con el que se creo el SP y en este caso el Job es el 'sa', ya que es con el que entra y tiene acceso a los servidores vinculados. El error que aparece es el siguiente cuando se ejecuta de manera programada:
Executed as user: NT AUTHORITY\SYSTEM. Error de inicio de sesión del usuario 'Emp\Server01$'. [SQLSTATE 28000] (Error 18456)
Y si lo ejecuto desde mi maquina, es decir manualmente, me marca mi usuario como error de inicio de sesión.
Espero respuesta de tus sabios consejos y de antemano muchísimas gracias.
No te preocupes que para eso estamos.
Unas preguntas:
- ¿El tipo de autenticación en ambos serviores es mixta? (SQL - Windows) de no serlo, cambialo de esa manera.
- ¿Para el usuario "sa" en ambos servidores podrías probar el mismo password?, solo de ser posible, no es relevante pero es algo que podríamos probar.
- ¿Puedes hacer select del server A al server B y viceversa?
- ¿Tienes activo (true) el RPC (Remote Process Call) en el linked server? Eso lo vez en una de las pestañas de propiedades del linked server
Me comentas.
- Para el usuario "sa" en ambos servidores efectivamente están con la misma contraseña
- Si se puede realizar consultas desde el Server A al B y viceversa
- Y si esta activo el RPC
   Solo en lo que respecta a la autenticación no estoy segura, al parecer si, solo que para estar segura, podrías decirme donde es exactamente donde lo puedo checar o cambiar, posiblemente lo sepa, pero como aun no estoy del todo relacionada con algunos conceptos y esas cosas me confundo.
Saludos y Gracias
Si más no recuerdo en el Enterprise Management dale clic derecho a tu servidor, clic en propiedades y entra a la pestaña security, ahí encontraras el modo de autenticación.
Me comentas.
Ok, entonces te confirmo y aseguro que esta en autenticación mixta. Gracias
Entonces el problema esta en los permisos que tenga el Linked Server, me dices que el linked server tiene activo las tres sgtes cosas:
- RPC
- RPC Out
- Data Access
En la pestaña Security de las propiedades de tu linked server creado debes a tener como Local Login al usuario sa y deberías configurar el usuario remoto y password remoto para ese usuario que debería ser el usuario sa del otro server con su mismo password, ademas debe marcar en las opciones de abajo la opción: Be made using this security context (la ultima opción) y poner en las casillas Remote Login : sa y para password: ****(el que corresponda).
Me comentas.
Muchisisisisisisisimas gracias por tu ayuda, efectivamente fue esto ultimo que me dijiste, no había checado ese detalle y no estaban inciando igual, muchas gracias por tu paciencia y tu conocimientos.
Saludos.

Añade tu respuesta

Haz clic para o

Más respuestas relacionadas