#title Msg 916 WITH EXECUTE AS [[TableOfContents]] ==== 에러 메시지 ==== 메시지 916, 수준 14, 상태 1, 프로시저 usp_LockTest, 줄 0 현재 보안 컨텍스트로는 서버 보안 주체 "dwa2007"이(가) 데이터베이스 "DM"에 액세스할 수 없습니다. ==== 어떤 경우? ==== {{{ --use TestDB alter proc Test.usp_LockTest WITH EXECUTE AS '이재학' select convert (smallint, req_spid) As spid, loginame, db_name(rsc_dbid) As db_name, object_name(rsc_objid) As object_name, rsc_indid As IndId, substring (v.name, 1, 4) As Type, substring (rsc_text, 1, 32) as Resource, substring (u.name, 1, 8) As Mode, substring (x.name, 1, 5) As Status from master.dbo.syslockinfo, master.dbo.spt_values v, master.dbo.spt_values x, master.dbo.spt_values u, master.sys.sysprocesses z where master.dbo.syslockinfo.rsc_type = v.number and v.type = 'LR' and master.dbo.syslockinfo.req_status = x.number and x.type = 'LS' and master.dbo.syslockinfo.req_mode + 1 = u.number and u.type = 'L' and convert (smallint, req_spid) = z.spid and z.loginame = '테스터' order by spid }}} 이런 경우 조낸 짜증이다.. '이재학'이 만땅권한인데도 안된다.. 이유는 TestDB에서 master DB를 접근하는데 가장된 사용자로 해서 그런거다.. ==== 해결 ==== ALTER DATABASE TestDB SET TRUSTWORTHY on; 해주면 된다..