일부 사용자는 읽기 액세스 권한이있는 저장 프로 시저를 만들 수 있도록 설정해야합니다. 또한 프로덕션에서는 SELECT를 가질 수 없으며 생성 된 procs에 대해 EXECUTE 만 수행 할 수 있습니다. 개발 과정에서 SELECT를 사용하여 프로 시저를 만들 수 있습니다.스키마 및 보안에 대한 질문
Reports라는 스키마를 설정했습니다. 해당 스키마의 소유자는 로그인 - Report_Admin입니다. 해당 사용자는 테이블에 대한 선택 액세스 권한이 있습니다. 그런 다음 보고서 스키마에 대한 변경 및 실행을 보고서 작성자 계정으로 보냈습니다. Dbo는 테이블을 소유하므로 dbo가보고 스키마를 소유하고있는 경우 작동하지만 삭제도 절차에서 작동합니다!
우리는보고 서비스를 사용하고 있으며 유지 관리를 위해 데이터베이스에 모든 SQL을 갖고 싶습니다.
감사합니다.
질문을 올바르게 이해할 수 있는지 확실하지 않지만 report_writer 사용자가 선택 권한이없는 것으로 보입니다. 따라서 EXECUTE AS SELF는 저장 프로 시저가 아무 것도 선택하지 못하게합니다. – Andomar
@Andomar : report_writer에 SELECT 권한이 있습니다. OP에서 Report_Admin입니다. –