우리 회사는 계약자를 고용하여 우리의 주 데이터베이스 (SQL Server 2005
)의 단일보기에서 데이터를 선택해야하는 작은 프로젝트를 수행했습니다.하나의보기 만 읽을 수있는 권한을 가진 SQL Server 사용자를 만들지 만 시스템보기와 절차를 볼 수 있습니까?
"그의"보기의 SELECT
에 대한 사용 권한만으로 잠금 해제 된 SQL Server
로그인을 만들고 싶었습니다.
grant select on SpecialView to SpecialUser;
이 작동 - 그는 우리 테이블과 저장 프로 시저 중 하나를 볼 수 없습니다 , "그의 것"을 제외하고 어떤 전망도.
그러나 :
- 그가 모든 시스템에 액세스 할 수는
- 그가 모든 시스템 저장 프로 시저에 액세스 할 수 있습니다 전망.
는 분명히 자신의 권한을 자동으로 잠 깁니다 (그가 권한이있는 sys.objects
쇼 개체 만, sp_who
그렇게 만 자신의 프로세스 및 표시).
그래서, 내 질문은 : 그것은 시스템 뷰 및 저장 프로 시저에 액세스하지 않고 사용자를 생성 할 수
인가?
(그래, 내가 무슨 일을하고 있는가하면?)
또는 심지어 잠긴 사용자가 시스템 뷰 및 저장 프로 시저에 액세스해야하는 이유 몇 가지 이유가있다?
편집 :
kevchadders, 사용자는 마스터, 모델 또는 MSDB에 액세스 할 수 없습니다 - 단지 그가보고하도록되어 볼 수있는 데이터베이스에.
그러나 한 가지를 명확히하기 위해 사용자가 볼 수있는 시스템보기/procs는 ...이 마스터 데이터베이스가 아닌 데이터베이스에서 입니다. 동일한 데이터베이스에서 하나의보기를 선택해야하므로 그의 모든 액세스를 비활성화 할 수는 없습니다.
요점은 그가 볼 수있는 단일보기에 대해서만 명시 적으로 권한을 설정하더라도 왜 여전히 시스템보기/procs를 볼 수 있습니까?
편집 내 대답은 위를 참조하십시오! –