다른 SQL 로그인 계정으로 실행되도록 SQL 작업 단계를 설정하는 방법이 궁금합니다. 기존 자격 증명이 필요한 새 프록시 계정을 설정해야합니다. 자격 증명을 만들 때 유일한 옵션은 Windows 로그인 자격 증명을 사용하는 것입니다.
실행하려는 작업이 아래에 있습니다. 다른 추가 명령문이 있지만 작업 단계를 SQL 로그인으로 실행하도록 설정하면 실패합니다.
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;
이 작업이 SQL 작업 단계를 통해 실행되면 실패합니다.
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.
이 모든 테이블이 로컬 DB에 존재할 때 왜 원격 서버에 액세스하려고하는지 확실하지 않습니다.
SQL 작업 단계는 이미 SQL 인스턴스에 연결되어 있습니다. 따라서 비밀번호로 새로 연결하지 않고 기존 보안 컨텍스트를 변경해야합니다. 새 연결을 만들려면 sqlcmd 명령 또는 PowerShell 스크립트를 사용하면 스크립트 내에서 SQL 로그인 및 암호를 매개 변수로 사용할 수 있습니다. 그러나 수행해야 할 작업과 자체 컨텍스트가있는 저장 프로 시저가 충분한 지 고려해야합니다.
—
Rob Farley