Tengo curiosidad por saber cómo configurar un paso de trabajo SQL para que se ejecute como una cuenta de inicio de sesión SQL diferente. Parece que necesito configurar una nueva cuenta de proxy que requiere una credencial existente. Cuando creo una credencial, mi única opción es usar una credencial de inicio de sesión de Windows.
El trabajo que intento ejecutar está debajo. Hay otras declaraciones adicionales, pero cuando configuro el paso del trabajo para que se ejecute como inicio de sesión de SQL, falla.
insert into [dbo].[TableA]
SELECT 
       ss.[Ref_ID]
      ,mm.[studentID]
      ,mm.[studentPersonID]
      ,mm.[studentFirstname]
  FROM [dbo].[TableB] mm
  left outer join [dbo].[TableC] ss on ss.parentPersonID=mm.parentPersonID and mm.studentPersonID = ss.studentPersonID
  where ss.Ref_ID is not null;
Cuando esto se ejecuta a través de un paso de trabajo SQL, falla.
Executed as user: an_admin_account. Access to the remote server is denied because the current security context is not trusted. [SQLSTATE 42000] (Error 15274).  The step failed.
No tengo claro por qué está intentando acceder a un servidor remoto cuando todas estas tablas existen en la base de datos local.
                    
                        sql-server
                                sql-server-2008-r2
                                security
                                sql-server-agent
                                
                    
                    
                        Geoff Dawdy
fuente
                
                fuente

Respuestas:
Si está configurando un paso de trabajo T-SQL, vaya a la Página avanzada y configure "Ejecutar como usuario" en el inicio de sesión que elija.
Si está trabajando con otros tipos de pasos de trabajo como PowerShell, necesitará configurar una cuenta de proxy.
fuente
Úselo
EXECUTE ASal principio o cree un procedimiento almacenado que se ejecute en un contexto particular.fuente