A veces, cuando estamos trabajando con servidores enlazados en un dominio, que creamos un "Stored Procedure" el cual corre sin problemas en un Query directo pero no asi cuando lo queremos invocar mediante el "SQL Server Agent".
NT AUTHORITY\SYSTEM. The OLE DB provider "SQLNCLI10" for linked server
Authentication failed. [SQLSTATE 42000] (Error 7399) Cannot initialize the data source object of OLE DB provider "SQLNCLI10" for linked server "F48SRV26". [SQLSTATE 42000] (Error 7303) OLE DB provider "SQLNCLI10" for linked server "F48SRV26" returned message "Invalid authorization specification". [SQLSTATE 01000] (Error 7412). NOTE: The step was retried the requested number of times (1) without succeeding.
Sucede por dos razones principalmente:
1.-Por que no tenemos bien configurada la conexión
2.- Por que el usuario del SQL Server Agent no esta mapeado en los servidores remotos.
El primer punto se resuelve así:
Este error nos dice que hay un error en el tema de permisos y privilegios en alguno de nuestros usuarios.
Primeramente lo que hay que revisar es la pestaña de seguridad del Servidor Enlazado (Linked Server) en cuestión.
Debemos navegar hasta el rubro de "Linked Server" damos "Click Derecho" y entramos en Propiedades
En el apartado de seguridad es importante tener mapeado el usuario local, que es el nuestro, al usuario remoto con su respectiva contraseña.
Así mismo en esta misma pantalla debemos seleccionar el ultimo "Security context" y colocar nuevamente el usuario remoto con su contraseña. Es decir el usuario que utilizamos para autenticarnos en el servidor remoto.
Lo anterior debería ser suficiente para que funcione
En dado caso que nos siga marcando el error, sobre todo cuando estamos en DOMINIO, pasamos a configurar el punto 2
Primero debemos saber que usuario esta usando el SQL Server Agent para logearse en el servidor remoto, esto lo sabemos de la siguiente manera.
Accedemos al detalle de los servicios del sistema:
Después buscamos el Servicio que corresponde al Sql Server Agent y con "Click Derecho" entramos a propiedades.
Vamos ala Pestaña de inicio de sesion o loggin y es ahi donde veremos cual es el usuario de windows que esta utilizando.
Con esta información debemos ir a cada "Linked Server", mediante escritorio remoto, acceder al panel de control en donde se administran las cuentas de usuario y agregar como usuario administrador al usuario del SQL Server Agent.
Hecho esto reiniciamos el SQL Server Agent del equipo en el que tenemos creado el Job.
Esto debería ser suficiente para solucionar nuestro problema.






No hay comentarios:
Publicar un comentario