이 저장 프로 시저를 사용하여 두 개의 내부 조인 (하나의 테이블 중 하나가 다른 데이터베이스에 있음)을 사용하여 선택 쿼리를 수행합니다. 자, 나는이 쿼리를 동적 인 원인으로 작성해야만했습니다. 우선 select 쿼리가 실행되어야하는 db를 찾아야했습니다. 어쨌든, 어떤 테이블도 데이터베이스 역할 "personel"(모든 사람 포함)에 대한 저장 프로 시저에 권한을 부여하는 데 대한 사용 권한이 없습니다.저장 프로 시저에서 실행중인 동적 쿼리에 대한 사용 권한 문제
이제 personel 역할을 가진 사람이이 저장된 proc을 실행하면 "SELECT 권한이 'tbl_table'데이터베이스, 'Db'개체, 스키마 'dbo'개체에서 거부되었습니다."라는 오류 메시지가 나타납니다. 스키마에는 차이가 없으며 정상적으로 실행되는 동일한 테이블을 사용하는 다른 procs가 있습니다.
동적 쿼리 (exec (Use DB; select ...))를 사용할 수 있습니까? 동적 인 것처럼 테이블에 대한 사용 권한도 부여해야합니다.
감사합니다.
주셔서 감사합니다. 테이블에 사용 권한을 부여하거나 동적 쿼리를 일반적인 쿼리로 변경하는 것 사이를 결정해야합니다. – futile