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 AS
al principio o cree un procedimiento almacenado que se ejecute en un contexto particular.fuente