Je suis curieux de savoir comment configurer une étape de travail SQL à exécuter en tant que compte de connexion SQL différent. Il semble que je dois configurer un nouveau compte proxy qui nécessite des informations d'identification existantes. Lorsque je crée un identifiant, ma seule option est d'utiliser un identifiant de connexion Windows.
Le travail que j'essaie d'exécuter est ci-dessous. Il existe d'autres instructions supplémentaires, mais lorsque j'établis l'étape de travail à exécuter en tant que connexion SQL, elle échoue.
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;
Lorsque cela est exécuté via une étape de travail SQL, il échoue.
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.
Je ne sais pas pourquoi il essaie d'accéder à un serveur distant lorsque toutes ces tables existent sur la base de données locale.
Si vous configurez une étape de travail T-SQL, accédez à la page Avancé et configurez "Exécuter en tant qu'utilisateur" sur la connexion de votre choix.
Si vous travaillez avec d'autres types d'étapes de travail comme PowerShell, il faudra configurer un compte proxy.
Utilisation EXECUTE AS
au début, ou créez une procédure stockée qui s'exécute dans un contexte particulier.