sysadmin 권한과 모든 데이터베이스에 대한 액세스 권한이있는 SQL 사용자 'ABC'를 보유하고 있으며 특정 서버의 데이터베이스 A와 데이터베이스 B를 말합니다. 내 응용 프로그램이 하나의 데이터베이스에만 액세스 할 수있는 사용자를 사용하는 곳 A. 데이터베이스 B의 테이블에 레코드를 삽입하는 저장 프로 시저를 만들었으므로 EXECUTE AS 절을 사용하여 ABC 사용자와 함께 저장 프로 시저를 실행하지만 테스트를 마친 후 찾았습니다. 내 응용 프로그램 사용자가 ABC의 용도와 정확히 동일한 서버 역할을 갖고 있지 않으면 작동하지 않습니다. 다른 사용자 sysadmin을 만들면 오류가 발생하지 않고 잘 작동합니다. 두 사용자가 동일한 역할을 수행해야하는 경우이 EXECUTE AS 절의 용도는 무엇입니까? 또는 나는 무엇인가 놓치고 있냐?SQL EXECUTE AS 절
-1
A
답변
0
난 당신이 이미 여기에 대한 답이 질문을 생각 : SQL Server Execute Impersonation이
가 사용자로 실행 = 'ABC'가장의 --The 범위는 현재 데이터베이스로 제한됩니다.
VS
로그인으로 실행은 = 'ABC'의 가장 --The 범위는 서버 레벨로된다.
귀하의 SQL 코드를 게시하십시오. 코드가없는 상태에서 무엇이 잘못되었는지를 말하는 것은 불가능합니다. 어쩌면 권한 문제 일 수도 있지만 그렇지 않을 수도 있습니다. – Paolo
파올로 문제는 절차 코드와 관련이 없으며 문제는 허가와 관련되어 있으며 허가 문제에 대해 분명히 묻습니다. – elmo