2017-12-29 13 views
1

일반 사용자는 권한이 없기 때문에 특정 역할에 속한 데이터베이스 사용자를 나열 할 수 없습니다.역할 사용자를 표준 사용자로 나열

Execute as (저장 프로 시저에서) 작동하지 않는 것 같습니다.

목록은 현재 사용자 만 반환합니다.

내 질문 :

가 어떻게 일반 사용자 (즉, 문제의 저장 프로 시저 실행 권한을 부여) 모든 역할 사용자의 목록을 얻을 수있을 수 있습니까? 물론

CREATE PROCEDURE dbo.GetRoleList 
WITH EXECUTE AS OWNER 
AS 
BEGIN 
    SELECT ... 
END 
GO 

을, 당신이 역할 사용자를 나열 할 수있는 권한이있는 사용자로 프로 시저를 작성해야한다 : 저장 프로 시저에 높은 특권 기능을 캡슐화에 대해 어떻게

답변

2

. 일반 사용자가 절차를 실행하면 소유자의 권한이 대신 사용됩니다 (따라서 "상승 된"쿼리를 실행할 수 있음).

자세한 내용은 this post을 확인하십시오.