저장 프로 시저를 사용하려고 할 때 무언가가 없습니다 EXECUTE AS
. 저장 프로 시저가에서 데이터를 읽고 source_db
집계하여 결과를 저장 target_db
합니다.
sp 자체는입니다 target_db
. 나는 전용 로그인이 모두 사용자에게 매핑 source_db
및 target_db
SP의 소유자 (그래서 사용자가 app_agent
에서 source_db
와에서 target_db
로그인에 대한 app_agent
).
로 로그인하여 app_agent
실행하면
EXEC target_db.app_agent_schema.import_data
모든 것이 잘 작동합니다. 하지만 내가 변하면
ALTER PROCEDURE app_agent_schema.import_data WITH EXECUTE AS OWNER` (or `AS SELF`)
실행 해보십시오.
서버 보안 주체 "app_agent"는 현재 보안 컨텍스트에서 "source_db"데이터베이스에 액세스 할 수 없습니다.
SQL Server 2008을 사용하고 있습니다.
누군가 내 오류를 지적 할 수 있습니까?
감사
업데이트
몇 가지 연구를 한 결과 ALTER DATABASE target_db SET TRUSTWORTHY ON
문제 가 해결되었지만 올바른 해결책은 아닙니다.