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 consiste à 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 comme 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.
sql-server
sql-server-2008-r2
security
sql-server-agent
Geoff Dawdy
la source
la source
Réponses:
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.
la source
Utilisez
EXECUTE AS
au début ou créez une procédure stockée qui s'exécute dans un contexte particulier.la source