SQL Server 2012 인스턴스에서 "읽기"사용자를 설정하고 싶습니다. 모든 테이블과 뷰에서 데이터를 검색하지만 업데이트하거나 삽입하지는 않는 저장 프로 시저 또는 함수 또는 직접 SQL 문을 실행할 수있는 권한을 부여하고 싶습니다 (예 : 아무것도 읽고 아무것도 쓰지 않음).
이름별로 각 함수 또는 저장 프로 시저에 대한 권한을 구체적으로 부여하지 않고이를 설정할 수 있지만 대신 테이블을 수정할 수있는 권한을 빼앗아 모든 함수 또는 저장 프로 시저에 대해 실행 권한을 부여 할 수 있습니까?
SQL Server 2008을 대신 실행하면 무엇이 변경됩니까?
설명 및 추가 :
- 저장 프로 시저가 데이터를 변경하면 사용자는 수정을 거부하거나 저장 프로 시저에 대한 액세스를 완전히 거부하는 오류 메시지를 받아야합니다.
- 잠재적 인 솔루션에 권한 거부가 포함 된 경우 거부 대신 특정 권한을 부여 할 수 없습니까?
- 하나의 명령문으로 데이터베이스의 모든 테이블, 뷰 등 (현재 및 미래에)에 거부를 적용 할 수 있습니까?
GRANT
, 권한을 부여하는 DENY
권한을 거부하고, REVOKE
제거 GRANT
또는 DENY
. GRANT
또는 DENY
사용자 없이는 저장 프로 시저에 대한 액세스 권한으로부터 권한을 상속받을 수 있습니다.
DENY DELETE, INSERT, UPDATE
데이터베이스 또는 스키마를 사용하는 경우 테이블 및 뷰에만 영향을 줄 것이라고 생각합니다.